Пример #1
0
        public void NextTurn()
        {
            if (GameState == eGameState.Playing)
            {
                ClearWaitTimer();
                CheckBox();

                m_turnIndex++;
                m_wind = GetNextWind();

                List<Box> newBoxes = CreateBox();

                Player[] players = GetAllFightPlayersSafe();
                foreach (Player p in players)
                {
                    p.BeginNextTurn();
                }

                m_currentPlayer = FindLowDelayPlayer(players, m_random.Next(0, players.Length));

                m_currentPlayer.StartAttacking();

                GSPacketIn pkg = m_currentPlayer.PlayerDetail.Out.SendGameNextTurn(m_currentPlayer, this, newBoxes);
                SendToAll(pkg, m_currentPlayer.PlayerDetail);

                AddAction(new WaitPlayerAttackingAction((m_timeType + 15) * 1000, m_currentPlayer, m_turnIndex));

                OnBeginNewTurn();
            }
        }