/// <summary> /// 检查是否已经添加了某事件的某监听 /// </summary> /// <param name="eventType">事件类型</param> /// <param name="sel">需要检查的监听</param> /// <returns>是否已经添加</returns> public bool HasEventListener(string eventType, ListenerSelector sel) { if (!_dictListeners.ContainsKey(eventType)) { return(false); } var selectors = _dictListeners[eventType]; var target = selectors.Find(src => sel == src); return(target != null); }
/// <summary> /// 移除指定监听 /// </summary> /// <param name="eventType">事件类型</param> /// <param name="sel">要移除的监听</param> /// <returns>是否移除成功</returns> public bool RemoveEventListener(string eventType, ListenerSelector sel) { if (!HasEventListener(eventType, sel)) { return(false); } var selectors = _dictListeners[eventType]; foreach (var item in selectors) { if (item == sel) { selectors.Remove(item); return(true); } } return(false); }