Ejemplo n.º 1
0
 public static void DeleteEventClick(this Button target)
 {
     if (target != null)
     {
         XUButtonListener listener = target.GetComponent <XUButtonListener>();
         if (listener != null)
         {
             listener.RemoveEventClick();
         }
     }
 }
Ejemplo n.º 2
0
        //================================== 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);
                }
            }
        }