예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
            }
        }