Пример #1
0
    void Start()
    {
        objectGridOperations = GetComponent <ObjectGrid_Operations>();

        // Floor Grid
        Grid_Instantiate gridInstantiate = transform.parent.GetComponent <Grid_Instantiate>();

        floorGridInstantiate = gridInstantiate.floorGrid.GetComponent <FloorGrid_Instantiate>();
    }
Пример #2
0
    // Debug Grid
    // TODO: Delete
    public void DebugGrid()
    {
        Grid_Instantiate      test  = transform.parent.GetComponent <Grid_Instantiate>();
        FloorGrid_Instantiate test1 = test.floorGrid.GetComponent <FloorGrid_Instantiate>();

        // Fill all arrays with [-1,-1]
        for (int i = 0; i < integerObjectGrid.GetLength(0); i++)
        {
            for (int j = 0; j < integerObjectGrid.GetLength(1); j++)
            {
                if (!IsPositionEmpty(integerObjectGrid[i, j]))
                {
                    Tile_Selection tileSelection = test1.floorGrid[i, j].GetComponent <Tile_Selection>();
                    tileSelection.HighlightTileMaterial(true, true);
                }
                else
                {
                    Tile_Selection tileSelection = test1.floorGrid[i, j].GetComponent <Tile_Selection>();
                    tileSelection.HighlightTileMaterial(false, false);
                }
            }
        }
    }
Пример #3
0
    public void MarkTiles(Vector2Int tilePos, Vector2Int colliderPos, Vector2Int[] occupiedSpace, bool placeable)
    {
        UnmarkTiles();

        FloorGrid_Instantiate floorGridInstantiate = GetComponent <FloorGrid_Instantiate>();

        GameObject[,] floorGrid = floorGridInstantiate.floorGrid;

        foreach (Vector2Int pos in occupiedSpace)
        {
            Vector2Int realPos     = (pos - colliderPos) + tilePos;
            bool       isInXBounds = realPos.x >= 0 && realPos.x < floorGrid.GetLength(0);
            bool       isInYBounds = realPos.y >= 0 && realPos.y < floorGrid.GetLength(1);

            if (isInXBounds && isInYBounds)
            {
                GameObject     tile          = floorGrid[realPos.x, realPos.y];
                Tile_Selection tileSelection = tile.GetComponent <Tile_Selection>();
                tileSelection.HighlightTileMaterial(true, placeable);
                previousMarkTiles.Add(tile);
            }
        }
    }