Esempio n. 1
0
        private void HandleCharacterSelectionMessage(String address, AbstractMessage message)
        {
            CharacterSelectionMessage characterSelectionMessage = (CharacterSelectionMessage)message;

            Player currentPlayer = controller.GetPlayer(IPAddress.Parse(address));

            currentPlayer.ClearCharacters();
            foreach (String rootName in characterSelectionMessage.SelectedCharacters)
            {
                currentPlayer.AddCharacter(Bundle.Characters[rootName]);
            }

            foreach (Player player in controller.GetPlayers())
            {
                if (player.GetCharacters().Count == 0)
                {
                    controller.Server.SendData(currentPlayer.IPAddress, new WaitingOponentMessage());
                    return;
                }
            }

            BattleEngine.Initialize(controller.GetLocalPlayer(), controller.GetRemotePlayer());
            StartGameMessage startGameMessage = new StartGameMessage();

            serverStatus = ServerStatus.WaitingCharacterPosition;

            controller.Server.SendToAll(startGameMessage);
        }