コード例 #1
0
ファイル: BattleField.cs プロジェクト: yening520/SLG_Warriors
        //将战斗单位放置入战场
        private void EnterBattleField()
        {
            //队伍进入战场
            //从xml中读取BornGrid
            teamABornGrids = ReadScene1Location.ReadScene1LocationFromXml(battleMap, "Config/Scene1Location", 0, 1);
            teamBBornGrids = ReadScene1Location.ReadScene1LocationFromXml(battleMap, "Config/Scene1Location", 1, 16);

            //进入战场
            teams[0].EnterBattleField(this, teamABornGrids);
            teams[1].EnterBattleField(this, teamBBornGrids);

            /*
             * for (int i = 0; i < teams.Count; ++i)
             * {
             *  //队伍进入战场。
             *  teams[i].EnterBattleField(this, battleMap.GetBornGrid(i, teams[i].battleUnits.Count, true));
             * }
             */
            //随机行动顺序
            bool reverse = DebugHelper.Instance.randomFirstAction && (resetTimes & 1) == 0;

            for (int i = 0; i < teams.Count; ++i)
            {
                int teamIdx = reverse ? 1 - i : i;
                //随机
                List <BattleUnit> shuffle = new List <BattleUnit>(teams[teamIdx].battleUnits);
                UtilityHelper.Shuffle <BattleUnit>(shuffle);
                for (int j = 0; j < shuffle.Count; j++)
                {
                    actionQueue.Enqueue(shuffle[j]);
                }
            }
        }