protected override void OnClientRead(object sender, PacketArgs args)
        {
            var client = args.Client;
            if (client == null) return;

            if (!ClientTable.Contains(client))
                // Don't waste our time reading from clients that aren't tracked in the client table
                client.OnReadPacket -= OnClientRead;
            else
                _readQueue.Enqueue(args);
        }
        private void OnClientRead(object sender, PacketArgs args)
        {
            var client = args.Client;
            if (client == null) return;
            var packet = args.Packet;
            if (packet == null) return;

            if(packet is RequestAuthPacket)
                Client.WritePacket(new AuthenticateUserPacket{Username = _username});
            else if (packet is GameStatePacket)
                UpdateGameState(packet as GameStatePacket);
            else if (packet is ServerDisconnectPacket)
                ScreenManager.CloseScreen(this);
        }
Example #3
0
 /// <summary>
 ///   Called when a client receives a new packet
 /// </summary>
 /// <param name="sender"> </param>
 /// <param name="args"> </param>
 protected abstract void OnClientRead(object sender, PacketArgs args);