예제 #1
0
 public static void UnRegisterEvent(int evt, EventManager.EventProcessInterface processor)
 {
     EventManager.EventListener eventListener = null;
     if (EventManager._eventList.TryGetValue(evt, out eventListener))
     {
         eventListener.listeners.Remove(processor);
     }
 }
예제 #2
0
 public static void RegisterEvent(int evt, EventManager.EventProcessInterface processor)
 {
     EventManager.EventListener eventListener = null;
     if (!EventManager._eventList.TryGetValue(evt, out eventListener))
     {
         eventListener = new EventManager.EventListener();
         EventManager._eventList.Add(evt, eventListener);
     }
     if (eventListener.listeners.Contains(processor))
     {
         Debug.LogError("事件重复添加!");
         return;
     }
     eventListener.listeners.Add(processor);
     EventManager.IEventUnregisterable eventUnregisterable = processor as EventManager.IEventUnregisterable;
     if (eventUnregisterable != null)
     {
         eventUnregisterable.HasRegisterEvent = true;
     }
 }