public void Invoke(PacketKey packetKey, BasePacket basePacket) { if (eventHandlers.ContainsKey(packetKey)) { foreach (var h in eventHandlers[packetKey]) { h.OnPacket(packetKey, basePacket); } } }
public void Subscribe(PacketKey state, IPacketEventHandler packetEventHandler) { if (eventHandlers.ContainsKey(state)) { eventHandlers[state].Add(packetEventHandler); } else { List <IPacketEventHandler> handlers = new List <IPacketEventHandler> { packetEventHandler }; eventHandlers.Add(state, handlers); } }