/// <summary> /// 获取战斗结果 /// </summary> /// <returns></returns> public BattleResultVO GetBattleResult() { if (result == null) { result = new BattleResultVO(); result.star = BattleStar; result.percentage = Mathf.RoundToInt(DestroyBuildingPercent * 100); result.useDonatedArmy = useDonatedArmy; result.stolenResources.AddRange(stolenResources); result.rewardCrown = GetBattleRewardCrown(BattleStar > 0, BattleStar); RankModel current, next; DataCenter.Instance.FindRankModel(RankType.Crown, DataCenter.Instance.Attacker.player.crown, out current, out next); result.rewardGoldByCrownLevel = current.rewardGold; result.rewardOilByCrownLevel = current.rewardOil; result.timestamp = DateTimeUtil.DateTimeToUnixTimestampMS(BattleStartTime); result.peerId = DataCenter.Instance.Defender.player.userId; result.killedDefenderDonatedArmies.AddRange(killedDefenderDonatedArmies); result.brokenTraps.AddRange(brokenTraps); foreach (var armyVO in attackerData.armies) { foreach (var leftArmyVO in DataCenter.Instance.Attacker.armies) { if (leftArmyVO.cid == armyVO.cid && leftArmyVO.amount != armyVO.amount) { result.usedArmies.Add(new ArmyVO() { cid = armyVO.cid, amount = armyVO.amount - leftArmyVO.amount }); break; } } } foreach (var skillVO in attackerData.skills) { foreach (var leftSkillVO in DataCenter.Instance.Attacker.skills) { if (leftSkillVO.cid == skillVO.cid && leftSkillVO.amount != skillVO.amount) { result.usedSkills.Add(new SkillVO() { cid = skillVO.cid, amount = skillVO.amount - leftSkillVO.amount }); break; } } } } return(result); }
public void Init() { useDonatedArmy = false; result = null; IsBattleStarted = false; IsBattleEnded = false; hasGotHalfDestroyStar = false; stolenResources.Clear(); stealableResources.Clear(); killedDefenderDonatedArmies.Clear(); brokenTraps.Clear(); totalDefenderBuildingCount = 0; BattleStar = 0; defenderBuildingCount = 0; attackerArmyCount = 0; }
public BattleResultCommand(BattleResultVO battleResult, BattleReplayVO battleReplay) { this.battleResult = battleResult; this.battleReplay = battleReplay; }