public void UnmarkTiles() { // Reset color to default foreach (GameObject tile in previousMarkTiles) { Tile_Selection tileSelection = tile.GetComponent <Tile_Selection>(); tileSelection.HighlightTileMaterial(false, false); } // Reset list previousMarkTiles = new List <GameObject>(); }
// 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); } } } }
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); } } }