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); }
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); }
private NetworkEventPayload.ServerClientConnectPayload CreateConnectedEventFromChallengeResponse(PacketChallengeResponse response) => new NetworkEventPayload.ServerClientConnectPayload { username = response.username, playerName = response.playerName, playerAccountBalance = response.playerAccountBalance };