public void BuildTileGroups() { for (int y = 0; y < tileGridManager.numRows; y++) { for (int x = 0; x < tileGridManager.numColumns; x++) { Tile tile = tileGridManager.GetTileAt(x, y); if (tile != null && tile.TileGroup == null) { GameObject tileGroupGO = (GameObject)Instantiate(tileGroupPrefab); tileGroupGO.transform.parent = transform; TileGroup tileGroup = tileGroupGO.GetComponent <TileGroup>(); tileGroup.TimeAfterScoredToDestroy = timeAfterScoredToDestroy; tileGroup.IsAttachedToGrid = true; BuildTileGroup(tile, tileGroup); UpdateTileGroupLayer(tileGroup); } } } }
void UpdateTileGridUp() { // Move existing tiles: for (int x = 0; x < tileGridManager.numColumns; x++) { for (int y = tileGridManager.numRows - 1; y >= 0; y--) { Tile tile = tileGridManager.GetTileAt(x, y); if (tile == null) { if (!FillTileFromDirection(CardinalDirection.Down, x, y)) { break; } } } } // Create new tiles for empty spots: if (fillEmptyTiles) { for (int x = 0; x < tileGridManager.numColumns; x++) { for (int y = tileGridManager.numRows - 1; y >= 0; y--) { Tile tile = tileGridManager.GetTileAt(x, y); if (tile == null) { CreateTileInDirection(CardinalDirection.Down, x, y); } } } } }