public void SendRaidDefenseComplete(CampaignMissionVO raidMission, Action endRaidCallback, EndPvEBattleTO endBattleTO) { CampaignMissionVO currentRaid = Service.Get <CurrentPlayer>().CurrentRaid; if (GameUtils.SafeVOEqualityValidation(raidMission, currentRaid)) { RaidDefenseCompleteRequest request = new RaidDefenseCompleteRequest(endBattleTO, this.finalWaveIdOfLastDefense); RaidDefenseCompleteCommand raidDefenseCompleteCommand = new RaidDefenseCompleteCommand(request); raidDefenseCompleteCommand.AddSuccessCallback(new AbstractCommand <RaidDefenseCompleteRequest, RaidDefenseCompleteResponse> .OnSuccessCallback(this.OnRaidCompleteSuccessWrapper)); this.onRaidEndCallback = endRaidCallback; Service.Get <ServerAPI>().Sync(raidDefenseCompleteCommand); this.finalWaveIdOfLastDefense = ""; return; } Service.Get <StaRTSLogger>().Error("Ended Raid Defense does not match the current raid.Ended: " + this.GetUidToLog(raidMission) + ", Scheduled: " + this.GetUidToLog(currentRaid)); }
public RaidDefenseCompleteRequest(EndPvEBattleTO endBattleTO, string finalWaveId) : base(endBattleTO.Battle, endBattleTO.SeededTroopsDeployed, endBattleTO.DefendingUnitsKilled, endBattleTO.AttackingUnitsKilled, endBattleTO.DefenderGuildUnitsSpent, endBattleTO.AttackerGuildUnitsSpent, endBattleTO.LootEarned, endBattleTO.BuildingHealthMap, endBattleTO.BuildingUids, endBattleTO.UnarmedTraps, endBattleTO.ReplayData) { this.lastWaveId = finalWaveId; }