public static void UnRegisterEvent(int evt, EventManager.EventProcessInterface processor) { EventManager.EventListener eventListener = null; if (EventManager._eventList.TryGetValue(evt, out eventListener)) { eventListener.listeners.Remove(processor); } }
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; } }