Esempio n. 1
0
        private void AddListenerInternal <T>(Delegate originalHandler, EnvoyEventHandler wrapperHandler) where T : EventData
        {
            EventInfo eventInfo = GetEvent <T>();

            if (eventInfo.DelegateLookup.ContainsKey(originalHandler))
            {
                Debug.LogWarning(string.Format("An attempt to attach method {0} to an event multiple times was detected. Ignoring", typeof(T)));
                return;
            }

            eventInfo.DelegateLookup.Add(originalHandler, wrapperHandler);
            eventInfo.EnvoyEvent += wrapperHandler;
        }
Esempio n. 2
0
 /// <summary>
 /// Removes an event listener.
 /// </summary>
 /// <param name="handler">
 /// The event listener delegate.
 /// </param>
 /// <typeparam name="T">
 /// The type of event listener is listening for.
 /// </typeparam>
 public void RemoveListener <T>(EnvoyEventHandler <T> handler) where T : EventData
 {
     RemoveListenerInternal <T>(handler);
 }
Esempio n. 3
0
 /// <summary>
 /// Adds an event listener.
 /// </summary>
 /// <param name="handler">
 /// The event listener delegate.
 /// </param>
 /// <typeparam name="T">
 /// The type of event listener is listening for.
 /// </typeparam>
 public void AddListener <T>(EnvoyEventHandler <T> handler) where T : EventData
 {
     AddListenerInternal <T>(handler, args => handler((T)args));
 }