예제 #1
0
    //////////////////////////////////////////////////////////////////////////

    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);
    }
예제 #2
0
        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));
        }
예제 #3
0
    //------------------------------------------------------------------------------

    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);
    }