public static void DeleteEventChange(this Toggle target) { if (target != null) { XUToggleListener listener = target.GetComponent <XUToggleListener>(); if (listener != null) { listener.RemoveEventChange(); } } }
//================================== Toggle相关事件 ====================================== public static void InsertEventChange(this Toggle target, string strEvent, object objParam) { if (target == null) { Debug.LogError("insert event fail,because Toggle is null."); return; } if (string.IsNullOrEmpty(strEvent)) { Debug.LogError("insert event fail,because string event is null."); } XUEventListenerBase listenerBase = target.GetComponent <XUEventListenerBase>(); if (listenerBase == null) { target.gameObject.AddComponent <XUToggleListener>().SetEventChange(strEvent, objParam, eventDelegateXU); } else { if (listenerBase is XUToggleListener) { (listenerBase as XUToggleListener).SetEventChange(strEvent, objParam, eventDelegateXU); } else { Dictionary <EventTriggerType, Dictionary <string, object> > eventMap = listenerBase.GetEventMap(); Object.DestroyImmediate(listenerBase); XUToggleListener listener = target.gameObject.AddComponent <XUToggleListener>(); foreach (var keyValue in eventMap) { foreach (var keyValue1 in keyValue.Value) { listener.SetEvent(keyValue.Key, keyValue1.Key, keyValue1.Value, eventDelegate); } } listener.SetEventChange(strEvent, objParam, eventDelegateXU); } } }