/// <summary> /// Queues a new event of the specified type along with the passed /// event data. /// </summary> /// <param name="eventType">Type of the event to queue.</param> /// <param name="eventData">Data any listeners might be interested in.</param> public void QueueEvent(object eventType, object eventData) { var newEvent = new Event(eventType, eventData); this.newEvents.Add(newEvent); }
/// <summary> /// Notifies all interested listeners of the specified event. /// </summary> /// <param name="e">Event to pass to listeners.</param> private void ProcessEvent(Event e) { EventDelegate eventListeners; if (!this.listeners.TryGetValue(e.EventType, out eventListeners)) { return; } if (eventListeners != null) { eventListeners(e); } }