Exemple #1
0
 public void AddListener <TEvent>(EventHandlerDelegate <TEvent> handler, EventDispatcher.Priority priority = EventDispatcher.Priority.DEFAULT) where TEvent : struct
 {
     dispatcher.AddListener(handler, priority);
     handlers.Add(handler, delegate
     {
         dispatcher.RemoveListener(handler);
     });
 }
    public void AddListenerOneShot <TEvent>(EventHandlerDelegate <TEvent> handler, EventDispatcher.Priority priority = EventDispatcher.Priority.DEFAULT) where TEvent : struct
    {
        EventHandlerDelegate <TEvent> oneShotHandler = null;

        oneShotHandler = (EventHandlerDelegate <TEvent>)(EventHandlerDelegate <TEvent>) delegate(TEvent e)
        {
            dispatcher.RemoveListener((EventHandlerDelegate <TEvent>)oneShotHandler);
            return(handler(e));
        };
        AddListener((EventHandlerDelegate <TEvent>)oneShotHandler, priority);
        oneShotHandlers.Add(handler, oneShotHandler);
    }
 public void AddListener <T>(EventHandlerDelegate <T> handler, EventDispatcher.Priority priority = EventDispatcher.Priority.DEFAULT) where T : struct
 {
     eventDispatcher.AddListener(handler, priority);
 }