示例#1
0
    bool isValidGridPos()
    {
        foreach (Transform child in transform)
        {
            Vector2 v = Gird.roundVer2(child.position);

            //1.判断是否在边界之内(左、右、下)
            if (!Gird.insideBorder(v))
            {
                return(false);
            }

            //2.判断gird所对应的格子是否为空
            if (Gird.gird[(int)v.x, (int)v.y] != null &&
                Gird.gird[(int)v.x, (int)v.y].parent != transform)
            {
                return(false);
            }
        }
        return(true);
    }
示例#2
0
    void updateGrid()
    {
        //上一次的数据清理,移去原来占据的格子信息
        for (int y = 0; y < Gird.h; y++)
        {
            for (int x = 0; x < Gird.w; x++)
            {
                if (Gird.gird[x, y] != null)
                {
                    if (Gird.gird[x, y].parent == transform)
                    {
                        Gird.gird[x, y] = null;
                    }
                }
            }
        }

        //加入本次更新的位置信息
        foreach (Transform child in transform)
        {
            Vector2 v = Gird.roundVer2(child.position);
            Gird.gird[(int)v.x, (int)v.y] = child;
        }
    }