public void UnregisterEvent(Define.DISPATCHEVENT eventId, EventFireCallback cb) { if (eventDic.ContainsKey(eventId)) { eventDic[eventId].Remove(cb); } }
public void UnregisterAllByEvent(Define.DISPATCHEVENT eventId) { if (eventDic.ContainsKey(eventId)) { eventDic[eventId].Clear(); } }
public void RegisterEvent(Define.DISPATCHEVENT eventId, EventFireCallback cb, params object[] args) { if (eventDic.ContainsKey(eventId)) { eventDic[eventId].Add(cb); } else { eventDic[eventId] = new List <EventFireCallback>(); eventDic[eventId].Add(cb); } }
public void FireEvent(Define.DISPATCHEVENT eventId, params object[] args) { List <EventFireCallback> list = null; if (!eventDic.TryGetValue(eventId, out list)) { return; } foreach (EventFireCallback ef in list) { if (ef == null) { continue; } ef.Invoke(args); } }