Esempio n. 1
0
        public IEnumerator Init(Grid grid, LevelColorScheme levelColorScheme)
        {
            if (Grid != null)
            {
                Debug.Log("Level is already created!");
                yield break;
            }

            Grid = grid;

            TileHolders = new TileHolder[Grid.Size];

            var start = this.transform.position;
            var wait  = new WaitForSeconds(timeOnRowCreate);

            for (int i = 0; i < Grid.SizeX; i++)
            {
                for (int j = 0; j < Grid.SizeY; j++)
                {
                    TileHolders[Grid.CoordinateToIndex(i, j)] = Instantiate <TileHolder>(tilePrefab, transform);
                    TileHolders[Grid.CoordinateToIndex(i, j)].transform.position = new Vector3(i, 0, j) * spacing;
                    TileHolders[Grid.CoordinateToIndex(i, j)].Init(Grid[i, j], this, levelColorScheme);
                }

                yield return(wait);
            }
        }
Esempio n. 2
0
 public void Init(Tile tile, GridHolder gridHolder, LevelColorScheme colorScheme)
 {
     Tile                      = tile;
     GridHolder                = gridHolder;
     _colorScheme              = colorScheme;
     Tile.OnTileHeightChanged += OnTileHeightChanged;
     Tile.OnTileFall          += OnTileFall;
     OnTileHeightChanged(Tile.Height, 0);
 }