using System; using System.Collections.Generic; using System.Reflection; using FiestaBot.Instances.Handlers; namespace FiestaBot.Zone.Handlers { internal class ZonePacketHandler : PacketHandlerAttribute { public ZonePacketHandler(byte Header, byte Type) : base(Header, Type) { } } internal class ZoneHandlerLoader : HandlerLoader { public ZoneHandlerLoader() { foreach (var PacketHandler in FilterAssembly.FindHandlers()) { ZonePacketHandler PacketAttribute = PacketHandler.PacketAttribute; MethodInfo PacketMethod = PacketHandler.MethodInfo; if (!Handlers.ContainsKey(PacketAttribute.Header)) { Handlers.Add(PacketAttribute.Header, new Dictionary()); } if (!Handlers[PacketAttribute.Header].ContainsKey(PacketAttribute.Type)) { Handlers[PacketAttribute.Header].Add(PacketAttribute.Type, PacketMethod); } } } } }