public void HandlePacket(EOPacketChannel channel, IPacket packet) { var handler = this.PacketHandlers.Find(p => { var ph = p.GetType().GetCustomAttribute <EOPacketHandler>(); return(packet.GetHeader() == (ph.Family, ph.Action) && channel == ph.Channel); }); Console.WriteLine($"[{channel}] [{packet.Family}:{packet.Action}]"); handler?.Handle(this, packet); }
public EOPacketHandler(PacketFamily family, PacketAction action, EOPacketChannel channel) { this.Family = family; this.Action = action; this.Channel = channel; }
public void HandlePacket(EOPacketChannel channel, IEnumerable <byte> packet) { this.HandlePacket(channel, _packetProcessActions.DecodeData(packet)); }