static void Client_Read(Server s, Client c, byte[] e)
{
try
{
object[] values = Packer.Deserialize(e);
ClientPacket packet = (ClientPacket)values[0];
if (c.Value.Authenticated)
{
switch (packet)
{
case ClientPacket.Channel:
HandleChannelPacket(c, (byte)values[1]);
break;
case ClientPacket.ChatMessage:
HandleChatPacket(c, (string)values[1]);
break;
}
}
else
{
switch (packet)
{
case ClientPacket.SignIn:
HandleSignInPacket(c, (string)values[1], (string)values[2]);
break;
case ClientPacket.Register:
HandleRegisterPacket(c, (string)values[1], (string)values[2]);
break;
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
c.Disconnect();
}
}