Ejemplo n.º 1
0
 private async Task SendTCPPacketToAllPlayers(NetworkPacket packet)
 {
     foreach (PlayerData player in _playerList.Values)
     {
         if (player.Connected)
         {
             await _networkConnection.ConnectAndWaitResponse(player.IPAddress, player.Port, packet);
         }
     }
 }
Ejemplo n.º 2
0
        private async Task <NetworkPacket> SendLobbyCommand(string playerID, LobbyCommands command, string args = null)
        {
            try
            {
                LobbyCommandPacket commandPacket = new LobbyCommandPacket(playerID, command, args);
                return(await _connection.ConnectAndWaitResponse(_serverAddress, NetworkPorts.LobbyServerPort, commandPacket));
            } catch (Exception)
            {
                // TODO throw custom exception for gameview to deal with
                // for now, fire LobbyCommand.Disconnected.
                LobbyCommandPacket packet = new LobbyCommandPacket("Client", LobbyCommands.Disconnected);
                OnLobbyCommand(packet);
            }

            return(new AcknowledgePacket());
        }
Ejemplo n.º 3
0
        internal Task ConnectToServer()
        {
            NetworkPacket salutation = new Network.SalutationPacket(LocalPlayerID) as NetworkPacket;

            return(_networkConnection.ConnectAndWaitResponse(_gameData.HostIPAddress, _gameData.HostPort, salutation));
        }