Esempio n. 1
0
        public override void RemoveClickCallBack(GOGUI.EventTriggerListener.VoidDelegate func)
        {
            GOGUI.EventTriggerListener triggerListener = GOGUI.EventTriggerListener.Get(gameObject);
            triggerListener.parameter = this;
            triggerListener.onClick  -= func;

            clickAction -= func;
        }
Esempio n. 2
0
        public static void PassEvent <T>(string btnName, PointerEventData data, ExecuteEvents.EventFunction <T> function, bool isClick, int clickType = 0) where T : IEventSystemHandler
        {
            List <RaycastResult> results = new List <RaycastResult>();

            EventSystem.current.RaycastAll(data, results);

            GameObject current = data.pointerCurrentRaycast.gameObject;

            for (int i = 0; i < results.Count; i++)
            {
                GameObject resultGameObject = results[i].gameObject;
                if (current != resultGameObject)
                {
                    if (isClick)
                    {
                        if (resultGameObject.name.Equals(btnName))
                        {
                            GameObject resultObj = results[i].gameObject;
                            if (clickType == 0)
                            {
                                if (resultObj.GetComponent <UnityEngine.UI.Toggle>() != null)
                                {
                                    ExecuteEvents.Execute(resultObj, data, function);
                                    return;
                                }
                                GOGUI.EventTriggerListener eventListener = GOGUI.EventTriggerListener.Get(resultObj);
                                if (eventListener == null)
                                {
                                    eventListener = GOGUI.EventTriggerListener.Get(resultObj.transform.parent);
                                }
                                eventListener.OnClick();
                                return;
                            }
                            else if (clickType == 1)
                            {
                                ExecuteEvents.Execute(resultObj, data, function);
                                GOGUI.EventTriggerListener eventListener = GOGUI.EventTriggerListener.Get(resultObj);
                                if (eventListener == null)
                                {
                                    eventListener = GOGUI.EventTriggerListener.Get(resultObj.transform.parent);
                                }
                                eventListener.OnLongPressBegin();
                            }
                            else if (clickType == 2)
                            {
                                GOGUI.EventTriggerListener eventListener = GOGUI.EventTriggerListener.Get(resultObj);
                                if (eventListener == null)
                                {
                                    eventListener = GOGUI.EventTriggerListener.Get(resultObj.transform.parent);
                                }
                                eventListener.OnMyLongPressEnd();
                                //ExecuteEvents.Execute(resultObj, data, ExecuteEvents.pointerUpHandler);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        public override void AddClickCallBack(GOGUI.EventTriggerListener.VoidDelegate func)
        {
            GOGUI.EventTriggerListener lis = GOGUI.EventTriggerListener.Get(gameObject);
            lis.parameter = this;
            lis.onClick  += func;

            clickAction -= func;
            clickAction += func;
        }
Esempio n. 4
0
 public static GameUIComponent ToGameUIComponent(this GameObject go)
 {
     if (go)
     {
         GOGUI.EventTriggerListener uel = go.GetComponent <GOGUI.EventTriggerListener>();
         if (uel)
         {
             return(uel.parameter as GameUIComponent);
         }
         else
         {
             return(null);
         }
     }
     else
     {
         return(null);
     }
 }