Ejemplo n.º 1
0
        public override void Import(AbstractEventHandler @from)
        {
            EventHandler EventHandler = (EventHandler)from;

            if (EventHandler != null)
            {
                eventListeners.AddRange(EventHandler.eventListeners);
            }
        }
Ejemplo n.º 2
0
    public static void AddListenerToHandler <T>(AbstractEventHandler handler, AbstractEventHandler.OnEvent <T> onEvent, params object[] arg) where T : Event
    {
        if (CheckIfEditor())
        {
            return;
        }

        //clear to be removed if being added again
        if (Instance.queuedRemoveListeners.RemoveAll(l => l.internalDelegate == onEvent) <= 0)
        {
            //add the listener to the event handler
            handler.AddListener(onEvent, WrapListener(onEvent), onEvent.Target as UnityEngine.Object, arg);
        }
    }
Ejemplo n.º 3
0
 public override void Import(AbstractEventHandler from)
 {
     if (from is WeightedEventHandler <T> )
     {
         eventListeners.AddRange(((WeightedEventHandler <T>)from).eventListeners);
     }
     else if (from is EventHandler)
     {
         EventHandler EventHandler = (EventHandler)from;
         foreach (var eventListener in EventHandler.eventListeners)
         {
             eventListeners.Add(new ListenerWrapperWeighted(eventListener.Callback, eventListener.Handle, 1));
         }
     }
 }
Ejemplo n.º 4
0
 public static AbstractEventHandler RegisterEvent(Type type, AbstractEventHandler mainListener)
 {
     CheckEventType(type);
     if (Instance.eventListeners.ContainsKey(type))
     {
         Debug.LogWarningFormat("Event Handler for type {0} is already defined, replacing with new handler. All listeners will be transferred", type.FullName);
         mainListener.Import(Instance.eventListeners[type]);
         Instance.eventListeners[type] = mainListener;
     }
     else
     {
         Instance.eventListeners.Add(type, mainListener);
     }
     return(mainListener);
 }
Ejemplo n.º 5
0
 public static void RegisterEvent <T>(AbstractEventHandler listener) where T : Event
 {
     RegisterEvent(typeof(T), listener);
 }
Ejemplo n.º 6
0
 public abstract void Import(AbstractEventHandler from);