public void ConnectGameServerResponse(byte[] bytes, IPEndPoint refEp) { ConnectGameServer conv = ConversationFactory.Instance. CreateFromMessage <ConnectGameServer>(bytes, refEp, null, null, null); conv.Start(); ConnectGSMsg convMessage = Message.Decode <ConnectGSMsg>(bytes); //generate TCP client TCPClient client = new TCPClient(); IPEndPoint clientTcp = refEp; clientTcp.Port = convMessage.Port; client.ConnectToServer(clientTcp); int playerId = convMessage.PlayerId; //need to store client tcp somewhere tcpClients.Add(playerId, client); //add player to game Game game; //find game in list if (gameList.Exists(x => x.gameId == convMessage.GameId)) { game = gameList.Find(x => x.gameId == convMessage.GameId); } else { game = new Game(convMessage.GameId, convMessage.Players, SendCard); } game.AddPlayer(playerId); }
public override Message CreateFirstMessage() { ConnectGSMsg msg = new ConnectGSMsg() { ConvId = ConvId, MsgId = MessageId.Create(), MessageType = TypeOfMessage.ConnectGameServerMsg, GameId = _GameId, Players = _NumPlayers, Port = _Port }; return(msg); }