// PUBLIC // PUBLIC STATIC // PRIVATE // PUBLIC // PUBLIC STATIC // PRIVATE // PRIVATE STATIC //-------------------------------------- // Methods //-------------------------------------- ///<summary> /// Constructor ///</summary> public EventListenerData(object aEventListener, string aEventName_string, EventDelegate aEventDelegate, EventDispatcherAddMode aEventListeningMode) { _eventListener = aEventListener; _eventName_string = aEventName_string; _eventDelegate = aEventDelegate; _eventListeningMode = aEventListeningMode; }
/// <summary> /// Adds the event listener. /// </summary> /// <returns> /// The event listener. /// </returns> /// <param name='aEventNameString'> /// If set to <c>true</c> a event type_string. /// </param> /// <param name='aEventDelegate'> /// If set to <c>true</c> a event delegate. /// </param> /// <param name='aEventDispatcherAddMode'> /// If set to <c>true</c> event listening mode. /// </param> public bool AddEventListener(string aEventNameString, EventDelegate aEventDelegate, EventDispatcherAddMode aEventDispatcherAddMode) { // var wasSuccessfulBoolean = false; // var aIEventListener = _getArgumentsCallee(aEventDelegate); // if (aIEventListener != null && aEventNameString != null) { // OUTER var keyForOuterHashTableString = _getKeyForOuterHashTable(aEventNameString); Action act = () => { if (!mEventListenerDatasHashtable.ContainsKey(keyForOuterHashTableString)) { mEventListenerDatasHashtable.Add(keyForOuterHashTableString, new Dictionary <string, EventListenerData>()); } // INNER var innerHashtable = mEventListenerDatasHashtable[keyForOuterHashTableString]; var eventListenerData = new EventListenerData(aIEventListener, aEventNameString, aEventDelegate, aEventDispatcherAddMode); // var keyForInnerHashTableString = _getKeyForInnerHashTable(eventListenerData); if (innerHashtable != null && innerHashtable.ContainsKey(keyForInnerHashTableString)) { //THIS SHOULD *NEVER* HAPPEN - REMOVE AFTER TESTED WELL Logger.Info("TODO (FIX THIS): Event Manager: Listener: " + keyForInnerHashTableString + " is already in list for event: " + keyForOuterHashTableString); } else { // ADD if (innerHashtable != null) { innerHashtable.Add(keyForInnerHashTableString, eventListenerData); } wasSuccessfulBoolean = true; //Logger.Info (" ADDED AT: " + keyForInnerHashTable_string + " = " + eventListenerData); } }; if (keyForOuterHashTableString == mCurrentEventName) { mAppendAction.Enqueue(act); } else { act(); } } return(wasSuccessfulBoolean); }
public EventListenerData(object aEventListener, string aEventNameString, EventDelegate aEventDelegate, EventDispatcherAddMode aEventListeningMode) { EventListener = aEventListener; EventName = aEventNameString; EventDelegate = aEventDelegate; EventListeningMode = aEventListeningMode; Enable = true; }
// PUBLIC // PUBLIC STATIC // PRIVATE // PUBLIC // PUBLIC STATIC // PRIVATE // PRIVATE STATIC //-------------------------------------- // Methods //-------------------------------------- ///<summary> /// Constructor ///</summary> public EventListenerData (object aEventListener, string aEventName_string, EventDelegate aEventDelegate, EventDispatcherAddMode aEventListeningMode ) { _eventListener = aEventListener; _eventName_string = aEventName_string; _eventDelegate = aEventDelegate; _eventListeningMode = aEventListeningMode; }
/// <summary> /// Adds the event listener. /// </summary> /// <returns> /// The event listener. /// </returns> /// <param name='aEventName_string'> /// If set to <c>true</c> a event type_string. /// </param> /// <param name='aEventDelegate'> /// If set to <c>true</c> a event delegate. /// </param> /// <param name='aEventDispatcherAddMode'> /// If set to <c>true</c> event listening mode. /// </param> public bool addEventListener(string aEventName_string, EventDelegate aEventDelegate, EventDispatcherAddMode aEventDispatcherAddMode) { // bool wasSuccessful_boolean = false; // object aIEventListener = _getArgumentsCallee(aEventDelegate); // if (aIEventListener != null && aEventName_string != null) { // OUTER string keyForOuterHashTable_string = _getKeyForOuterHashTable(aEventName_string); if (!_eventListenerDatas_hashtable.ContainsKey(keyForOuterHashTable_string)) { _eventListenerDatas_hashtable.Add(keyForOuterHashTable_string, new Hashtable()); } // INNER Hashtable inner_hashtable = _eventListenerDatas_hashtable[keyForOuterHashTable_string] as Hashtable; EventListenerData eventListenerData = new EventListenerData(aIEventListener, aEventName_string, aEventDelegate, aEventDispatcherAddMode); // string keyForInnerHashTable_string = _getKeyForInnerHashTable(eventListenerData); if (inner_hashtable.Contains(keyForInnerHashTable_string)) { //THIS SHOULD *NEVER* HAPPEN - REMOVE AFTER TESTED WELL Debug.Log("Event Manager: Listener: " + keyForInnerHashTable_string + " is already in list for event: " + keyForOuterHashTable_string); Debug.Log("Event Manager: Listener: " + keyForInnerHashTable_string + " is already in list for event: " + keyForOuterHashTable_string); Debug.Log("Event Manager: Listener: " + keyForInnerHashTable_string + " is already in list for event: " + keyForOuterHashTable_string); } else { // ADD inner_hashtable.Add(keyForInnerHashTable_string, eventListenerData); wasSuccessful_boolean = true; //Debug.Log (" ADDED AT: " + keyForInnerHashTable_string + " = " + eventListenerData); } } return(wasSuccessful_boolean); }
/// <summary> /// Adds the event listener. /// </summary> /// <returns> /// The event listener. /// </returns> /// <param name='aEventName_string'> /// If set to <c>true</c> a event type_string. /// </param> /// <param name='aEventDelegate'> /// If set to <c>true</c> a event delegate. /// </param> /// <param name='aEventDispatcherAddMode'> /// If set to <c>true</c> event listening mode. /// </param> public bool addEventListener(string aEventName_string, EventDelegate aEventDelegate, EventDispatcherAddMode aEventDispatcherAddMode) { // bool wasSuccessful_boolean = false; // object aIEventListener = _getArgumentsCallee(aEventDelegate); // if (aIEventListener != null && aEventName_string != null) { // OUTER string keyForOuterHashTable_string = _getKeyForOuterHashTable (aEventName_string); if (!_eventListenerDatas_hashtable.ContainsKey(keyForOuterHashTable_string) ) { _eventListenerDatas_hashtable.Add(keyForOuterHashTable_string, new Hashtable()); } // INNER Hashtable inner_hashtable = _eventListenerDatas_hashtable[keyForOuterHashTable_string] as Hashtable; EventListenerData eventListenerData = new EventListenerData (aIEventListener, aEventName_string, aEventDelegate, aEventDispatcherAddMode); // string keyForInnerHashTable_string = _getKeyForInnerHashTable (eventListenerData); if (inner_hashtable.Contains(keyForInnerHashTable_string)) { //THIS SHOULD *NEVER* HAPPEN - REMOVE AFTER TESTED WELL Debug.Log("TODO (FIX THIS): Event Manager: Listener: " + keyForInnerHashTable_string + " is already in list for event: " + keyForOuterHashTable_string); } else { // ADD inner_hashtable.Add(keyForInnerHashTable_string, eventListenerData); wasSuccessful_boolean = true; //Debug.Log (" ADDED AT: " + keyForInnerHashTable_string + " = " + eventListenerData); } } return wasSuccessful_boolean; }
public bool addEventListener(string aEventName_string, EventDelegate aEventDelegate, EventDispatcherAddMode aEventDispatcherAddMode) { return(_eventDispatcher.addEventListener(aEventName_string, aEventDelegate, aEventDispatcherAddMode)); }