public static void DeleteEventChange(this Scrollbar target) { if (target != null) { XUScrollbarListener listener = target.GetComponent <XUScrollbarListener>(); if (listener != null) { listener.RemoveEventChange(); } } }
//================================== Scrollbar相关事件 ====================================== public static void InsertEventChange(this Scrollbar target, string strEvent, object objParam) { if (target == null) { Debug.LogError("insert event fail,because Scrollbar 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 <XUScrollbarListener>().SetEventChange(strEvent, objParam, eventDelegateXU); } else { if (listenerBase is XUScrollbarListener) { (listenerBase as XUScrollbarListener).SetEventChange(strEvent, objParam, eventDelegateXU); } else { Dictionary <EventTriggerType, Dictionary <string, object> > eventMap = listenerBase.GetEventMap(); Object.DestroyImmediate(listenerBase); XUScrollbarListener listener = target.gameObject.AddComponent <XUScrollbarListener>(); 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); } } }