////////////////////////////////////////////////////////////////////////// public string click(int x, int y) { //Debug.Log( string.Format( "SimulateClick at {0},{1}", x, y ) ); // raycast into scene to find game objects var pointerData = new PointerEventData(EventSystem.current); pointerData.position = new Vector2(x, y); var results = new List <RaycastResult>(); EventSystem.current.RaycastAll(pointerData, results); // execute click foreach (var res in results) { if (ExecuteEvents.Execute(res.gameObject, pointerData, ExecuteEvents.pointerClickHandler)) { return(UniumUtils.Path(res.gameObject)); } } return(null); }
public override object Attr(object obj, string name) { var go = obj as GameObject; if (go != null) { if (name == "path") { return(UniumUtils.Path(go)); } else if (name == "iid") { return(go.GetInstanceID()); } // find component var component = go.GetComponent(name); if (component != null) { return(component); } } return(base.Attr(obj, name)); }
//------------------------------------------------------------------------------ public string drag(int fx, int fy, int tx, int ty, float time) { var pointerData = new PointerEventData(EventSystem.current); pointerData.position = new Vector2(fx, fy); var results = new List <RaycastResult>(); EventSystem.current.RaycastAll(pointerData, results); foreach (var res in results) { if (ExecuteEvents.Execute(res.gameObject, pointerData, ExecuteEvents.beginDragHandler)) { StartCoroutine(DoDrag(res.gameObject, pointerData, tx, ty, time)); return(UniumUtils.Path(res.gameObject)); } } return(null); }