public bool DispatchEvent <T, T1, T2, T3>(GameObject _target, string _eventName, ref T _t, T1 _t1, T2 _t2, T3 _t3) { List <SuperFunctionUnit> unitList = DispatchEventReal <SuperFunctionCallBackV3 <T, T1, T2, T3> >(_target, _eventName); if (unitList != null) { for (int i = 0; i < unitList.Count; i++) { SuperFunctionUnit unit = unitList[i]; if (unit.isOnce) { RemoveEventListener(unit.index); } SuperFunctionCallBackV3 <T, T1, T2, T3> cb = unit.callBack as SuperFunctionCallBackV3 <T, T1, T2, T3>; cb(unit.index, ref _t, _t1, _t2, _t3); } unitList.Clear(); ReleaseList(unitList); return(true); } else { return(false); } }
internal bool DispatchEvent <T, T1, T2, T3>(string _eventName, ref T t, T1 t1, T2 t2, T3 t3) { LinkedList <SuperEventListenerUnit> linkedList = DispatchEventReal <SuperFunctionCallBackV3 <T, T1, T2, T3> >(_eventName); if (linkedList != null) { while (linkedList.First != null) { LinkedListNode <SuperEventListenerUnit> node = linkedList.First; SuperEventListenerUnit unit = node.Value; SuperFunctionCallBackV3 <T, T1, T2, T3> cb = unit.callBack as SuperFunctionCallBackV3 <T, T1, T2, T3>; cb(unit.index, ref t, t1, t2, t3); ReleaseLinkedListNode(node); linkedList.RemoveFirst(); } ReleaseLinkedList(linkedList); return(true); } else { return(false); } }
public void RemoveEventListener <T, T1, T2, T3>(GameObject _target, string _eventName, SuperFunctionCallBackV3 <T, T1, T2, T3> _callBack) { RemoveEventListenerReal(_target, _eventName, _callBack); }
public int AddEventListener <T, T1, T2, T3>(GameObject _target, string _eventName, SuperFunctionCallBackV3 <T, T1, T2, T3> _callBack) { return(AddEventListener(_target, _eventName, _callBack, false)); }
internal void RemoveListener <T, T1, T2, T3>(string _eventName, SuperFunctionCallBackV3 <T, T1, T2, T3> _callBack) { RemoveListenerReal(_eventName, _callBack); }
internal int AddListener <T, T1, T2, T3>(string _eventName, SuperFunctionCallBackV3 <T, T1, T2, T3> _callBack, int _priority) { return(AddListenerReal(_eventName, _callBack, _priority)); }