public void GenerateDefaultLevelGrid() { CreateLevelScript(); Grid2D grid = new Grid2D(worldSize, gridSpace); levelLogic = new LevelLogic(grid, gameGraphics); for (int x = 0; x < grid.gridSizeX; x++) { for (int y = 0; y < grid.gridSizeY; y++) { Node2D currentNode = grid.Grid[x, y]; BaseBrick brick = GenerateRandomBaseBrick(currentNode.ID); if (brick != null) { brick.transform.SetParent(brickGridParent); brick.SwitchPositions(currentNode.worldPosition); AddBrickToLevelController(brick); } } } Debug.Log("Bricks added to level controller"); AddPathToLevelController(); }
private void SwitchBrickToType(BaseBrick brick, BrickType type) { GameObject obj = levelLogic.GetBrickBasedOnType(type); BrickData newData = new BrickData { gridNodeID = brick.GetComponent <BaseBrick>().ID, type = type }; BaseBrick newB = obj.GetComponent <BaseBrick>(); newB.Initialize(newData); newB.SwitchPositions(brick.transform.position); obj.transform.SetParent(brickGridParent); ReplaceInLevel(brick, newB); if (type == BrickType.PATH) { brick.SwitchToPath(); } }