/// <summary> /// Adds an event handler that listens to a specific event. /// </summary> /// <param name="ID"> The ID of the event to listen to. </param> /// <param name="EventHandler"> The function to be called to handle the event. </param> public void AddEventHandler(uint ID, EventAction<Object, IEvent> EventHandler) { if (EventHandler == null) throw new ArgumentNullException("EventHandler was null."); ThreadedEventHandler<Object, IEvent> Handler; if(EventHandlers.TryGetValue(ID, out Handler)) { Handler.AddEventListener(EventHandler); } else { Handler = new ThreadedEventHandler<object, IEvent>(); Handler.AddEventListener(EventHandler); EventHandlers.TryAdd(ID, Handler); } }
/// <summary> /// Adds an event handler that listens to a specific event. /// </summary> /// <param name="ID"> The ID of the event to listen to. </param> /// <param name="EventHandler"> The function to be called to handle the event. </param> public void AddEventHandler(uint ID, EventAction <Object, IEvent> EventHandler) { if (EventHandler == null) { throw new ArgumentNullException("EventHandler was null."); } ThreadedEventHandler <Object, IEvent> Handler; if (EventHandlers.TryGetValue(ID, out Handler)) { Handler.AddEventListener(EventHandler); } else { Handler = new ThreadedEventHandler <object, IEvent>(); Handler.AddEventListener(EventHandler); EventHandlers.TryAdd(ID, Handler); } }