Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }