Exemplo n.º 1
0
    void GenerateMaze()
    {
        //Generate new random seed
        int mazeSeed = Random.Range(0, System.Int16.MaxValue);

        //Wipe existing maze
        mazeGenerator.Wipe();
        mazeGenerator.SetSeed(mazeSeed);
        mazeGenerator.Spawn(MAZE_WIDTH, MAZE_LENGTH);
        mazeGenerator.ResetTiles();

        if (mainRoomSize > 0)
        {
            mazeGenerator.CarveMainRoom(TILE_SIZE, TILE_SIZE);
        }

        TileController generatorStartTile = mazeGenerator.tiles[0, 0];

        mazeGenerator.FindFirstStep(Direction.N, generatorStartTile.pos);
        mazeGenerator.CleanColumns();
        mazeGenerator.UpdateMeshes();

        mazeGraph.Refresh(mazeGenerator.tiles);
        graphView.ClearNodes(mazeGraph.mazeNodesList);

        mazeGenerated = true;

        SolveMaze();
    }