public override void RemoveClickCallBack(GOGUI.EventTriggerListener.VoidDelegate func) { GOGUI.EventTriggerListener triggerListener = GOGUI.EventTriggerListener.Get(gameObject); triggerListener.parameter = this; triggerListener.onClick -= func; clickAction -= func; }
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); } } } } } }
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; }
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); } }