public void OnPacket(DevClientPacket id, string data) { if (m_packets.ContainsKey(id)) { m_packets[id](data); } }
private DevPacket InternalReceive() { DevClientPacket id = (DevClientPacket)m_reader.ReadByte(); int len = 0; if (!DevPacket.IsOneByte(id)) { if (DevPacket.IsLarge(id)) { len = m_reader.ReadInt32(); } else { len = m_reader.ReadInt16(); } } DevPacket packet; if (len > 0) { packet = new DevPacket((int)id, m_reader.ReadBytes(len)); } else { packet = new DevPacket((int)id); } return(packet); }
private void HandlePacket(DevPacket packet) { if (packet.Data == null) { return; } DevClientPacket id = (DevClientPacket)packet.Id; string data = Encoding.UTF8.GetString(packet.Data); m_behavior.OnPacket(id, data); }
public static bool IsLarge(DevClientPacket packet) { switch (packet) { case DevClientPacket.GameList: case DevClientPacket.UserList: case DevClientPacket.FriendList: case DevClientPacket.TeamList: case DevClientPacket.ChannelList: case DevClientPacket.ChannelUsers: return true; } return false; }
public static bool IsLarge(DevClientPacket packet) { switch (packet) { case DevClientPacket.GameList: case DevClientPacket.UserList: case DevClientPacket.FriendList: case DevClientPacket.TeamList: case DevClientPacket.ChannelList: case DevClientPacket.ChannelUsers: return(true); } return(false); }
public static bool IsOneByte(DevClientPacket packet) { switch (packet) { case DevClientPacket.LoginFailed: case DevClientPacket.Banned: case DevClientPacket.Kicked: case DevClientPacket.RegisterAccept: case DevClientPacket.RegisterFailed: case DevClientPacket.Pong: case DevClientPacket.RefuseDuelRequest: return true; } return false; }
public static bool IsOneByte(DevClientPacket packet) { switch (packet) { case DevClientPacket.LoginFailed: case DevClientPacket.Banned: case DevClientPacket.Kicked: case DevClientPacket.RegisterAccept: case DevClientPacket.RegisterFailed: case DevClientPacket.Pong: case DevClientPacket.RefuseDuelRequest: return(true); } return(false); }
public void OnPacket(DevClientPacket id, string data) { if (m_packets.ContainsKey(id)) m_packets[id](data); }