//取消注册事件 public void UnRegisterEventListener(DGameEventListener listener) { if (m_listeners.Contains(listener)) { m_listeners.Remove(listener); } }
//注册事件 public void RegisterEventListener(DGameEventListener listener) { if (!m_listeners.Contains(listener)) { m_listeners.Add(listener); } }
public void UnRegisterEventListener(int gameEventID, DGameEventListener action) { GameEventListener listener = null; if (m_gameEventListeners.TryGetValue(gameEventID, out listener)) { listener.UnRegisterEventListener(action); } }
public void RegisterEventListener(int gameEventID, DGameEventListener action) { GameEventListener listener = null; if (!m_gameEventListeners.TryGetValue(gameEventID, out listener)) { listener = new GameEventListener(); m_gameEventListeners.Add(gameEventID, listener); } if (listener == null) { listener = new GameEventListener(); } listener.RegisterEventListener(action); }
//发送事件 public void DispatchGameEvent(GameEvent gameEvent) { if (gameEvent == null) { return; } for (int i = 0; i < m_listeners.Count; i++) { DGameEventListener listener = m_listeners[i]; if (listener == null) { continue; } listener(gameEvent); } }