void DeRegisterEventListener(SGameEventType pEventType, GameEventCallBack pCallBack) { int type = (int)pEventType; if (mListeners.ContainsKey(type)) { if (mListeners[type].Contains(pCallBack)) { mListeners[type].Remove(pCallBack); } } }
void RegisterEventListener(SGameEventType pEventType, GameEventCallBack pCallBack) { int type = (int)pEventType; if (!mListeners.ContainsKey(type)) { mListeners[type] = new List <GameEventCallBack>(); } else if (Application.isEditor) { // check if listener is already registered if (mListeners[type].Contains(pCallBack)) { Debug.LogError(System.String.Format("{0}, {1}, Event Listener is already registered!", pCallBack, pEventType)); } } mListeners[(int)pEventType].Add(pCallBack); }
public GameEvent(SGameEventType pEventType, MonoBehaviour pDispatcher) { eventType = pEventType; dispatcher = pDispatcher; }
public static void RemoveEventListener(SGameEventType pEventType, GameEventCallBack pCallBack) { mInstance.DeRegisterEventListener(pEventType, pCallBack); }
public bool Equals(SGameEventType pState) { return(pState.mIndex == this.mIndex); }