/// <summary> /// 分发事件,须知消息状况 /// </summary> /// <param name="_eventKey"></param> public void PostDispatchEvent(NotifEventKey _eventKey, Notification _notif) { if (!HasEventListener(_eventKey)) { return; } m_EventListener[_eventKey](_notif); }
public void PostDispatchEvent(NotifEventKey _eventKey, EventArgs param) { if (!HasEventListener(_eventKey)) { return; } m_EventListener[_eventKey](new Notification(param)); }
/// <summary> /// 添加监听 /// </summary> /// <param name="_eventKey"></param> /// <param name="_listener"></param> public void AddEventListener(NotifEventKey _eventKey, NotificationDelegate listener) { if (!HasEventListener(_eventKey)) { NotificationDelegate del = null; //定义方法 m_EventListener[_eventKey] = del; // 给委托变量赋值 } m_EventListener[_eventKey] += listener; //注册接收者的监听 }
/// <summary> /// 移除监听 /// </summary> /// <param name="_eventKey"></param> /// <param name="_listener"></param> public void RemoveEventListener(NotifEventKey _eventKey, NotificationDelegate listener) { if (!HasEventListener(_eventKey)) { return; } m_EventListener[_eventKey] -= listener; if (m_EventListener[_eventKey] == null) { RemoveEventListener(_eventKey); } }
public void RemoveEventListener(NotifEventKey _eventKey) { m_EventListener.Remove(_eventKey); }
/// <summary> /// 查询_eventKey 存留与 eventListener列表中 /// </summary> /// <param name="_eventKey"></param> /// <returns></returns> private bool HasEventListener(NotifEventKey _eventKey) { //Debug.LogError(string.Format("eventListener do not has eventkey{0}", _eventKey)); return(m_EventListener.ContainsKey(_eventKey)); }