Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public override Message CreateFirstMessage()
        {
            ConnectGSMsg msg = new ConnectGSMsg()
            {
                ConvId      = ConvId,
                MsgId       = MessageId.Create(),
                MessageType = TypeOfMessage.ConnectGameServerMsg,
                GameId      = _GameId,
                Players     = _NumPlayers,
                Port        = _Port
            };

            return(msg);
        }