public static void DeleteEventClick(this Button target) { if (target != null) { XUButtonListener listener = target.GetComponent <XUButtonListener>(); if (listener != null) { listener.RemoveEventClick(); } } }
//================================== Button相关事件 ====================================== public static void InsertEventClick(this Button target, string strEvent, object objParam) { if (target == null) { Debug.LogError("insert event fail,because Button 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 <XUButtonListener>().SetEventClick(strEvent, objParam, eventDelegateXU); } else { if (listenerBase is XUButtonListener) { (listenerBase as XUButtonListener).SetEventClick(strEvent, objParam, eventDelegateXU); } else { Dictionary <EventTriggerType, Dictionary <string, object> > eventMap = listenerBase.GetEventMap(); Object.DestroyImmediate(listenerBase); XUButtonListener listener = target.gameObject.AddComponent <XUButtonListener>(); foreach (var keyValue in eventMap) { foreach (var keyValue1 in keyValue.Value) { listener.SetEvent(keyValue.Key, keyValue1.Key, keyValue1.Value, eventDelegate); } } listener.SetEventClick(strEvent, objParam, eventDelegateXU); } } }