public void AddTestData() { for (int turnCount = 0; turnCount < 1; turnCount++) { BattleTurn turn = new BattleTurn(); for (int stepCount = 0; stepCount < 6; stepCount++) { BattleStep step1 = new BattleStep(); StepAction attackaction1 = new StepAction(); attackaction1.slotIndex = stepCount; attackaction1.skillID = 10000; StepAction behitaction1 = new StepAction(); behitaction1.slotIndex = stepCount + 6; behitaction1.attackHp = -1000; step1.attacks.Add(attackaction1); step1.behits.Add(behitaction1); BattleStep step2 = new BattleStep(); StepAction attackaction2 = new StepAction(); attackaction2.slotIndex = stepCount + 6; attackaction2.skillID = 10000; StepAction behitaction2 = new StepAction(); behitaction2.slotIndex = stepCount; behitaction2.attackHp = -1000; step2.attacks.Add(attackaction2); step2.behits.Add(behitaction2); turn.battleSteps.Add(step1); turn.battleSteps.Add(step2); } battleTurns.Add(turn); } }
//播放 废弃-- public void ExecuteOneAttack() { if (m_BattleRoundData == null) { Debug.Log("Execute(), m_BattleRoundData == null"); return; } Debug.Log("DoPlayOneStep(), turnCount = " + m_TurnCounter + ", stepCount = " + m_StepCounter); if (m_TurnCounter < m_BattleRoundData.battleRound.battleTurns.Count) { if (m_StepCounter < m_BattleRoundData.battleRound.battleTurns[m_TurnCounter].battleSteps.Count) { BattleStep tStep = m_BattleRoundData.battleRound.battleTurns[m_TurnCounter].battleSteps[m_StepCounter]; BattleCard tAttackcard = null; AttackBag attack_bag = new AttackBag(); if (tStep.attacks.Count > 0) { StepAction tAttack = tStep.attacks[0]; tAttackcard = BattleCardManager.Instance.FindCardBySlotIndex(tAttack.slotIndex); if (tAttackcard != null) { Debug.Log("Attack, slotindex: " + tAttack.slotIndex + ", CardID: " + tAttackcard.Card_Data.CardTempId + ", SkillID: " + tAttack.skillID); attack_bag.skillID = tAttack.skillID; attack_bag.curHp = tAttack.curHp; attack_bag.loverIdx = tAttack.hetiIndex; if (tAttack.buff != null && tAttack.buff.Count != 0) { foreach (BuffInfo info in tAttack.buff) { attack_bag.attackBuffs.Add(info); } } } else { Debug.LogError("DoPlayOneStep(), can not find attack card! " + tAttack.slotIndex); m_StepCounter++; return; } } else { Debug.LogError("DoPlayOneStep(), no attack card !"); m_StepCounter++; return; } if (tStep.attacks.Count > 1) { Debug.LogError("DoPlayOneStep(), attack card more then one ! " + tStep.attacks.Count); } Dictionary <BattleCard, BeHitBag> behit_map = new Dictionary <BattleCard, BeHitBag>(); foreach (StepAction tBeAtt in tStep.behits) { BeHitBag behit_bag = new BeHitBag(); BattleCard tDefenceCard = BattleCardManager.Instance.FindCardBySlotIndex(tBeAtt.slotIndex); if (tDefenceCard != null) { Debug.Log("Behit, slotindex: " + tBeAtt.slotIndex + ", CardID: " + tDefenceCard.Card_Data.CardTempId + ", attackHp: " + tBeAtt.attackHp); behit_bag.behitValue = tBeAtt.attackHp; behit_bag.curHp = tBeAtt.curHp; behit_bag.isCrit = tBeAtt.isStorm; if (tBeAtt.buff != null && tBeAtt.buff.Count != 0) { foreach (BuffInfo info in tBeAtt.buff) { behit_bag.behitBuffs.Add(info); } } behit_map.Add(tDefenceCard, behit_bag); } } //send bag ActionBag action_bag = new ActionBag(); action_bag.attackBag = attack_bag; action_bag.behitMap = behit_map; m_CurAttackCard = tAttackcard; m_CurActionBag = action_bag; tAttackcard.DoAttack(action_bag); m_StepCounter++; } else { m_StepCounter = 0; m_TurnCounter++; ExecuteOneAttack(); } } else { m_Manager.ChangProcedure(BattleProcedureType.E_BATTLE_PROCEDURE_SHOW_TROPHY); } }