public void OnStartGameAction(ICommunication communication, DataPackage data)
 {
     if (communication.IsMaster)
     {
         if (_serverInfo._lobbylist[0].IsLobbyComplete())
         {
             _gameStarted = true;
             Core.State   = StateEnum.GameRunningState;
             for (int i = 0; i < _serverInfo._communications.Count; i++)
             {
                 if (!(_serverInfo._communications[i] == communication))
                 {
                     _serverInfo._communications[i].Send(_dataPackageProvider.GetPackage("PlayerData"));
                 }
             }
             communication.Send(_dataPackageProvider.GetPackage("ServerStartingGame"));
         }
         else
         {
             communication.Send(_dataPackageProvider.GetPackage("NotEnoughInfo"));
         }
     }
     else
     {
         communication.Send(_dataPackageProvider.GetPackage("OnlyMasterStartInfo"));
     }
 }
示例#2
0
 public void Execute(ICommunication communication)
 {
     communication.Send(_dataPackageProvider.GetPackage("DeclinedInfo"));
     DisconnectClient();
     for (int i = 0; i <= _serverInfo._communications.Count - 1; i++)
     {
         _serverInfo._communications[i].Send(_dataPackageProvider.GetPackage("DeclineUpdate"));
     }
 }
 private void LobbyCheck()
 {
     if (_serverInfo._lobbylist[0].IsLobbyComplete())
     {
         Core.ConnectionStatus = ClientConnectionStatus.Declined;
         _currentcommunication.Send(_dataPackageProvider.GetPackage("LobbyCheckFailed"));
         _disconnectionHandler.Execute(_currentcommunication);
     }
     else
     {
         Core.ConnectionStatus = ClientConnectionStatus.Accepted;
         _currentcommunication.Send(_dataPackageProvider.GetPackage("LobbyCheckSuccessful"));
         _connectionHandler.Execute(_currentcommunication);
     }
     Core.ValidationStatus = ValidationEnum.WaitingForPlayer;
 }
 public void Execute(ICommunication communication)
 {
     _serverInfo._lobbylist[0]._CurrentPlayerCount++;
     communication.Send(_dataPackageProvider.GetPackage("AcceptedInfo"));
     for (int i = 0; i < _serverInfo._communications.Count; i++)
     {
         _serverInfo._communications[i].Send(_dataPackageProvider.LobbyDisplay());
     }
 }