using System; using System.Reflection; using System.Collections.Generic; using FilterAPI.Handlers; namespace FilterZone.ZoneHandlers { 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); } } } } }