Exemple #1
0
 public void RemoveListener(eSimpleEventID eventId, EventDelegate <GameEvent> del)
 {
     if (mSimpleEvents[(uint)eventId] != null)
     {
         mSimpleEvents[(uint)eventId] -= del;
     }
 }
Exemple #2
0
 public void AddListener(eSimpleEventID eventId, EventDelegate <GameEvent> del)
 {
     if (mSimpleEvents[(uint)eventId] == null)
     {
         mSimpleEvents[(uint)eventId]  = delegate { };
         mSimpleEvents[(uint)eventId] += del;
     }
     else
     {
         //防止重复添加委托函数
         mSimpleEvents[(uint)eventId] -= del;
         mSimpleEvents[(uint)eventId] += del;
     }
 }
Exemple #3
0
    /// <summary>
    /// 根据eventid直接分发事件
    /// </summary>
    /// <param name="eventId"></param>
    public void Raise(eSimpleEventID eventId)
    {
        EventDelegate <GameEvent> onEventHandlers = mSimpleEvents[(uint)eventId];

        if (onEventHandlers != null)
        {
            GameEvent e;
            mGameEvents.TryGetValue((uint)eventId, out e);
            if (e == null)
            {
                e         = new GameEvent();
                e.EventID = eventId;
                mGameEvents.Add((uint)eventId, e);
            }
            onEventHandlers(e);
        }
    }