示例#1
0
        //将战斗单位放置入战场
        private void EnterBattleField(bool recordProcess)
        {
            BattleUnit          battleUnit = null;
            List <BattleAction> actions    = null;

            if (recordProcess)
            {
                actions = new List <BattleAction>();
            }

            for (int i = 0; i < teams.Count; ++i)
            {
                for (int j = 0; j < teams[i].battleUnits.Count; ++j)
                {
                    battleUnit = teams[i].battleUnits[j];
                    GridUnit bornUnit = battleMap.GetBornGrid(i, true);
                    if (bornUnit == null)
                    {
                        UtilityHelper.LogError("Get born unit failed.");
                        continue;
                    }
                    BattleHeroEnterBattleFieldAction action = battleUnit.EnterBattleField(this, bornUnit, recordProcess);
                    if (recordProcess && action != null)
                    {
                        actions.Add(action);
                    }
                }
            }

            if (recordProcess)
            {
                AppendBattleActions(actions.ToArray());
            }
        }
示例#2
0
        //将战斗单位放置入战场
        private void EnterBattleField(bool recordProcess)
        {
            BattleUnit          battleUnit = null;
            List <BattleAction> actions    = null;

            if (recordProcess)
            {
                actions = new List <BattleAction>();
            }

            for (int i = 0; i < teams.Count; ++i)
            {
                for (int j = 0; j < teams[i].battleUnits.Count; ++j)
                {
                    battleUnit = teams[i].battleUnits[j];
                    GridUnit bornUnit = battleMap.GetBornGrid(i, true);
                    if (bornUnit == null)
                    {
                        battleUnit.battleUnitAttribute.hp = 0;
                        UtilityHelper.LogError("Get born unit failed.");
                        continue;
                    }
                    battleUnit.EnterBattleField(this, bornUnit, actions);
                    //生成行动队列
                    actionQueue.Enqueue(battleUnit);
                }
            }

            if (recordProcess)
            {
                AppendBattleActions(actions);
            }
        }