Example #1
0
    // Update is called once per frame
    void Update()
    {
        if (item != null && go != null)
        {
//			rV2 = item.LocalToRoot (new Vector2 (item.x, item.y), item.root);
            rV2 = item.LocalToGlobal(new Vector2(item.x, item.y));
//			Debug.LogError (item.x);
//			Debug.LogError (rV2.x);
            xx = rV2.x - item.x * scale;
            if (xx < left || xx > right)
            {
                if (go.activeSelf)
                {
                    go.SetActive(false);
                }
            }
            else
            {
                if (!go.activeSelf)
                {
                    go.SetActive(true);
                }
            }
        }
    }
Example #2
0
    void Start()
    {
        Application.targetFrameRate = 60;
        GRoot.inst.SetContentScaleFactor(1136, 640);
        Stage.inst.onKeyDown.Add(OnKeyDown);

        UIPackage.AddPackage("UI/Guide");

        _mainView = UIPackage.CreateObject("Guide", "Main").asCom;
        _mainView.fairyBatching = true;
        _mainView.SetSize(GRoot.inst.width, GRoot.inst.height);
        _mainView.AddRelation(GRoot.inst, RelationType.Size);
        GRoot.inst.AddChild(_mainView);

        _guideLayer = UIPackage.CreateObject("Guide", "GuideLayer").asCom;
        _guideLayer.SetSize(GRoot.inst.width, GRoot.inst.height);
        _guideLayer.AddRelation(GRoot.inst, RelationType.Size);

        GObject bagBtn = _mainView.GetChild("bagBtn");

        bagBtn.onClick.Add(() =>
        {
            _guideLayer.RemoveFromParent();
        });

        _mainView.GetChild("n2").onClick.Add(() => {
            Rect rect = bagBtn.LocalToGlobal(new Rect(0, 0, bagBtn.width, bagBtn.height));
            GRoot.inst.AddChild(_guideLayer);             //!!Before using GlobalToLocal, the object must be added first
            rect = bagBtn.TransformRect(new Rect(0, 0, bagBtn.width, bagBtn.height), _guideLayer);

            GObject window = _guideLayer.GetChild("window");
            window.size    = new Vector2((int)rect.size.x, (int)rect.size.y);
            window.TweenMove(new Vector2((int)rect.position.x, (int)rect.position.y), 0.5f);
        });
    }
    public void StartDrag(GObject source, string icon, object sourceData, int touchPointID = -1)
    {
        if (_agent.parent != null)
        {
            return;
        }

        _sourceData = sourceData;
        _agent.url  = icon;
        GRoot.inst.AddChild(_agent);
        Vector2 pt = source.LocalToGlobal(new Vector2(0, 0));

        _agent.SetXY(pt.x, pt.y);
        _agent.StartDrag(null, touchPointID);
    }
Example #4
0
 /// <summary>
 /// 本地坐标转全局坐标
 /// </summary>
 /// <param name="go"></param>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <returns></returns>
 public static Vector2 LocalToGlobal(GObject go, float x, float y)
 {
     return(go.LocalToGlobal(new Vector2(x, y)));
 }
Example #5
0
        public override object getAttr(string attrName)
        {
            if (gObject != null)
            {
                switch (attrName)
                {
                case "name":
                    return(string.IsNullOrEmpty(gObject.name) ? gameObject.name : gObject.name);

                case "type":
                    return(gObject.GetType().Name.Substring(1));

                case "visible":
                    return(gObject.onStage && gObject.visible);

                case "pos":
                {
                    float x = 0f, y = 0f;
                    float sizeX = 0f, sizeY = 0f;
                    //锚点左上角修正居中到Center,为了点击更加精确
                    if (gObject.pivotX == 0.5f && gObject.pivotY == 0.5f)
                    {
                        Rect rect = gObject.TransformRect(new Rect(0, 0, gObject.width, gObject.height), null);
                        sizeX = rect.width / (float)Screen.width;
                        sizeY = rect.height / (float)Screen.height;
                        //Debug.LogFormat(string.Format("<color=yellow>ancherPoint is not center,Need modeify sizeX:{0} sizeY:{1} gObject:{2}</color>", 0.5 * sizeX, 0.5 * sizeY, gObject.name));
                    }
                    Vector2 vec2 = gObject.LocalToGlobal(Vector2.zero);
                    x = vec2.x / (float)Screen.width + 0.5f * sizeX;
                    y = vec2.y / (float)Screen.height + 0.5f * sizeY;
                    return(new float[] { x, y });
                }

                case "size":
                {
                    //Debug.Log("gObject:" + gObject + " width:" + gObject.width + " height:"+gObject.height);
                    Rect rect = gObject.TransformRect(new Rect(0, 0, gObject.width, gObject.height), null);
                    //Debug.Log("rect:" + rect);
                    return(new float[] { rect.width / (float)Screen.width, rect.height / (float)Screen.height });
                }

                case "scale":
                    return(new List <float>()
                    {
                        1.0f, 1.0f
                    });

                case "anchorPoint":
                    return(new float[] { gObject.pivotX, gObject.pivotY });

                case "zOrders":
                    return(GameObjectzOrders());

                case "clickable":
                    return(gObject.touchable);

                case "text":
                    return(gObject.text);

                case "components":
                    return(components);

                case "texture":
                    return((gObject.displayObject != null && gObject.displayObject.graphics != null && gObject.displayObject.graphics.texture != null && gObject.displayObject.graphics.texture.nativeTexture != null) ? gObject.displayObject.graphics.texture.nativeTexture.name : null);

                case "tag":
                    return(GameObjectTag());

                case "layer":
                    return(GameObjectLayerName());

                case "_ilayer":
                    return(GameObjectLayer());

                case "_instanceId":
                    return(gameObject.GetInstanceID());

                default:
                    return(null);
                }
            }
            else
            {
                switch (attrName)
                {
                case "name":
                    return(gameObject.name);

                case "type":
                    return(displayObject != null?displayObject.GetType().Name : DefaultTypeName);

                case "visible":
                    return(displayObject != null ? (displayObject.stage != null && displayObject.visible) : true);

                case "pos":
                    return(new float[] { 0.0f, 0.0f });

                case "size":
                    return(new float[] { 0.0f, 0.0f });

                case "scale":
                    return(new List <float>()
                    {
                        1.0f, 1.0f
                    });

                case "anchorPoint":
                    return(new float[] { 0.0f, 0.0f });

                case "zOrders":
                    return(new Dictionary <string, object>()
                    {
                        { "local", 0 }, { "global", 0 }
                    });

                case "clickable":
                    return(false);

                case "components":
                    return(components);

                case "tag":
                    return(GameObjectTag());

                case "layer":
                    return(GameObjectLayerName());

                case "_ilayer":
                    return(GameObjectLayer());

                case "_instanceId":
                    return(gameObject.GetInstanceID());

                default:
                    return(null);
                }
            }
        }
Example #6
0
        public override object getAttr(string attrName)
        {
            if (gObject != null)
            {
                switch (attrName)
                {
                case "name":
                    return(string.IsNullOrEmpty(gObject.name) ? gameObject.name : gObject.name);

                case "type":
                    return(gObject.GetType().Name.Substring(1));

                case "visible":
                    return(gObject.onStage && gObject.visible);

                case "pos":
                {
                    Vector2 vec2 = gObject.LocalToGlobal(Vector2.zero);
                    return(new float[] { vec2.x / (float)Screen.width, vec2.y / (float)Screen.height });
                }

                case "size":
                {
                    Rect rect = gObject.TransformRect(new Rect(0, 0, gObject.width, gObject.height), null);
                    return(new float[] { rect.width / (float)Screen.width, rect.height / (float)Screen.height });
                }

                case "scale":
                    return(new List <float>()
                    {
                        1.0f, 1.0f
                    });

                case "anchorPoint":
                    return(new float[] { gObject.pivotX, gObject.pivotY });

                case "zOrders":
                    return(GameObjectzOrders());

                case "clickable":
                    return(gObject.touchable);

                case "text":
                    return(gObject.text);

                case "components":
                    return(components);

                case "texture":
                    return((gObject.displayObject != null && gObject.displayObject.graphics != null && gObject.displayObject.graphics.texture != null && gObject.displayObject.graphics.texture.nativeTexture != null) ? gObject.displayObject.graphics.texture.nativeTexture.name : null);

                case "tag":
                    return(GameObjectTag());

                case "layer":
                    return(GameObjectLayerName());

                case "_ilayer":
                    return(GameObjectLayer());

                case "_instanceId":
                    return(gameObject.GetInstanceID());

                default:
                    return(null);
                }
            }
            else
            {
                switch (attrName)
                {
                case "name":
                    return(gameObject.name);

                case "type":
                    return(displayObject != null?displayObject.GetType().Name : DefaultTypeName);

                case "visible":
                    return(displayObject != null ? (displayObject.stage != null && displayObject.visible) : true);

                case "pos":
                    return(new float[] { 0.0f, 0.0f });

                case "size":
                    return(new float[] { 0.0f, 0.0f });

                case "scale":
                    return(new List <float>()
                    {
                        1.0f, 1.0f
                    });

                case "anchorPoint":
                    return(new float[] { 0.0f, 0.0f });

                case "zOrders":
                    return(new Dictionary <string, object>()
                    {
                        { "local", 0 }, { "global", 0 }
                    });

                case "clickable":
                    return(false);

                case "components":
                    return(components);

                case "tag":
                    return(GameObjectTag());

                case "layer":
                    return(GameObjectLayerName());

                case "_ilayer":
                    return(GameObjectLayer());

                case "_instanceId":
                    return(gameObject.GetInstanceID());

                default:
                    return(null);
                }
            }
        }