/// <summary> /// 添加事件 /// </summary> /// <param name="type">事件类型</param> /// <param name="listenerFunc">监听函数</param> public static void addEventListener(EventEnum type, EventHandleDelegate listener) { //if (type == EventEnum.RefreshBossTip) return; try { if (listener == null) { return; } Delegate func; if (delegates.TryGetValue(type, out func)) { func = Delegate.Remove(func, listener);//去除重复 func = Delegate.Combine(func, listener); } else { func = listener; } delegates[type] = func; } catch (Exception e) { Debug.LogError("addEventListener error " + e + " " + type); } }
/// <summary> /// 删除事件 /// </summary> /// <param name="type">事件类型</param> /// <param name="listenerFunc">监听函数</param> public static void removeEventListener(EventEnum type, EventHandleDelegate listener) { if (listener == null) { return; } Delegate func = null; if (delegates.TryGetValue(type, out func)) { func = Delegate.RemoveAll(func, listener); } delegates[type] = func; }