示例#1
0
    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();
    }
示例#2
0
    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();
        }
    }