public void RemoveEventListener <T0, T1, T2> (EventId evtId, UnityAction <T0, T1, T2> listener) { int eventId = (int)evtId; if (!_dicEvents.ContainsKey(eventId)) { return; } else { EventTTT <T0, T1, T2> uEvent = _dicEvents[eventId] as EventTTT <T0, T1, T2>; if (uEvent != null) { uEvent.RemoveListener(listener); } else { LogTypeError(eventId, listener, EventSystemDefine.dicHandleType[1]); } } }
public void TriggerEvent <T0, T1, T2> (EventId evtId, T0 p0, T1 p1, T2 p2) { int eventId = (int)evtId; if (_dicEvents.ContainsKey(eventId)) { return; } else { EventTTT <T0, T1, T2> uEvent = _dicEvents[eventId] as EventTTT <T0, T1, T2>; if (uEvent != null) { uEvent.Invoke(p0, p1, p2); } else { Debug.LogError(string.Format("## Event Trigger need Type {0}", _dicEvents[eventId].GetType())); } } }
public void AddEventListener <T0, T1, T2> (EventId evtId, UnityAction <T0, T1, T2> listener) { int eventId = (int)evtId; if (!_dicEvents.ContainsKey(eventId)) { EventTTT <T0, T1, T2> newEvent = new EventTTT <T0, T1, T2>(); newEvent.AddListener(listener); _dicEvents[eventId] = newEvent; } else { EventTTT <T0, T1, T2> uEvent = _dicEvents[eventId] as EventTTT <T0, T1, T2>; if (uEvent != null) { uEvent.AddListener(listener); } else { LogTypeError(eventId, listener, EventSystemDefine.dicHandleType[0]); } } }