Exemplo n.º 1
0
        private void CreateLevel(Grid grid, DifficultyEnum difficulty)
        {
            GenerateShelfGrid(grid);

            List <Tile> tiles = GridTilingService.GetTilesForGrid(grid, difficulty);

            // Randomly rotate tiles than can be rotated to get a little variety at bags positions at the cart
            List <Tile> randomlyRotatedTiles = tiles.ConvertAll(
                tile => tile.CanBeRotated() && (Rnd.Next(2) == 1)
                    ? new Tile {
                Height = tile.Width, Width = tile.Height
            }
                    : tile
                );

            List <TileData> arrangedTiles = TilesCombinatorService.PlaceTilesOnCart(randomlyRotatedTiles, cartGridWidth);

            GenerateBags(arrangedTiles);
        }
Exemplo n.º 2
0
        private void GenerateShelfGrid(Grid grid)
        {
            generatedGridElements = new List <GameObject>();

            foreach (GridPoint point in grid.GetEmptyPoints())
            {
                // Mirror grid point down because we're making it grow downward
                Vector2 pointVector = point.ToVector() * new Vector2(1, -1);

                GameObject gridElement = Instantiate(
                    gridElementPrefab,
                    (Vector2)gridContainer.transform.position + pointVector,
                    gridContainer.transform.rotation,
                    gridContainer.transform
                    );

                gridElement.GetComponent <GridElementController>().interactionManager = _interactionManager;
                generatedGridElements.Add(gridElement);
            }
        }