Exemplo n.º 1
0
    void Start()
    {
        //mazeGraph = new MazeGraph(mazeRows, mazeColumns);
        //mazeGraph = new MazeGraphWithUnionSet(mazeRows, mazeColumns);
        //mazeGraph=new MazeGraphByBacktracking(mazeRows,mazeColumns);
        if (GameData.instance.mazeDifficulty == MazeDifficulty.EASY)
        {
            mazeGraph = new MazeGraphWithUnionSet(mazeRows, mazeColumns);
        }
        else//hard
        {
            mazeGraph = new MazeGraphByBacktracking(mazeRows, mazeColumns);
        }
        mazeGraph.Generate();
        //一个mesh装不下
        // MeshRenderer meshRenderer = gameObject.AddComponent<MeshRenderer>();
        //meshRenderer.material = mazeMtrl;
        //MeshCollider meshCollider = gameObject.AddComponent<MeshCollider>();
        //MeshFilter meshFilter = gameObject.AddComponent<MeshFilter>();
        //mcterrain = new MCTerrain(meshRenderer, meshCollider, meshFilter, blockLength, mazeColumns, wallHeight, mazeRows);
        int chunkSizeX = mazeColumns * (wallSize + roomSize) + wallSize;
        int chunkSizeZ = mazeRows * (wallSize + roomSize) + wallSize;

        mcterrain = new MCTerrain(parentGO, concreteMtrl, blockLength, chunkSizeX, wallHeight, chunkSizeZ);
        FillChunk();
        mcterrain.BuildMesh();

        lineRenderer = GetComponent <LineRenderer>();
        CalPathRenderer();
    }