Exemple #1
0
        private void ParseChallengeRequestPacket(Packet packet)
        {
            PacketChallengeRequest parsePacket = (PacketChallengeRequest)packet;

            PacketChallengeResponse response = new PacketChallengeResponse();

            response.clientId             = clientId;
            response.username             = ClientData.Username;
            response.playerName           = ClientData.PlayerName;
            response.playerAccountBalance = ClientData.AccountBalance;

            state = (int)States.ChallengeResponse;

            SendPacket(response);
        }
Exemple #2
0
        private void ParseChallengeResponsePacket(Packet packet, NetworkConnection clientConnection)
        {
            PacketChallengeResponse response = (PacketChallengeResponse)packet;

            if (Array.IndexOf(clientConnections, clientConnection) > -1)
            {
                return;
            }

            if (!pendingConnections.Contains(clientConnection))
            {
                return;
            }

            AddConnectionToSlot(clientConnection, GetEmptyServerSlotIndex());

            SendConnectionConfirmation(clientConnection);

            NetworkEventPayload.ServerClientConnectPayload payload = CreateConnectedEventFromChallengeResponse(response);
            ServerStage.EnqueueNetworkEvent(ServerStage.EVENT_CLIENTCONNECTED, clientConnection, payload);
        }
Exemple #3
0
        private NetworkEventPayload.ServerClientConnectPayload CreateConnectedEventFromChallengeResponse(PacketChallengeResponse response)

        => new NetworkEventPayload.ServerClientConnectPayload
        {
            username             = response.username,
            playerName           = response.playerName,
            playerAccountBalance = response.playerAccountBalance
        };