Ejemplo n.º 1
0
    //verifica se o bloco esta em uma posição válida na grid
    bool isValidGridPos()
    {
        foreach (Transform child in transform)
        {
            Vector2 v = Playerfield.roundVec2(child.position);

            // se não estiver dentro da área do jogo interrompe a função
            if (!Playerfield.insideBorder(v))
            {
                return(false);
            }

            // verifica se a peça não faz parte do mesmo grupo
            if (Playerfield.grid[(int)v.x, (int)v.y] != null &&
                Playerfield.grid[(int)v.x, (int)v.y].parent != transform)
            {
                return(false);
            }
        }
        return(true);
    }
Ejemplo n.º 2
0
    void updateGrid()
    {
        // Remove os filhos antigos da grid
        for (int y = 0; y < Playerfield.h; ++y)
        {
            for (int x = 0; x < Playerfield.w; ++x)
            {
                if (Playerfield.grid[x, y] != null)
                {
                    if (Playerfield.grid[x, y].parent == transform)
                    {
                        Playerfield.grid[x, y] = null;
                    }
                }
            }
        }

        // adiciona novos filhos a grid
        foreach (Transform child in transform)
        {
            Vector2 v = Playerfield.roundVec2(child.position);
            Playerfield.grid[(int)v.x, (int)v.y] = child;
        }
    }