예제 #1
0
    void DeRegisterEventListener(SGameEventType pEventType, GameEventCallBack pCallBack)
    {
        int type = (int)pEventType;

        if (mListeners.ContainsKey(type))
        {
            if (mListeners[type].Contains(pCallBack))
            {
                mListeners[type].Remove(pCallBack);
            }
        }
    }
예제 #2
0
    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);
    }
예제 #3
0
 public GameEvent(SGameEventType pEventType, MonoBehaviour pDispatcher)
 {
     eventType  = pEventType;
     dispatcher = pDispatcher;
 }
예제 #4
0
 public static void RemoveEventListener(SGameEventType pEventType, GameEventCallBack pCallBack)
 {
     mInstance.DeRegisterEventListener(pEventType, pCallBack);
 }
예제 #5
0
 public bool Equals(SGameEventType pState)
 {
     return(pState.mIndex == this.mIndex);
 }