Exemplo n.º 1
0
    private void GenerateMeshes(int[,] map, float squareSize)
    {
        var marchingSquares = new MarchingSquaresMeshData(map, squareSize);

        if (_cave == null)
        {
            var c = new Color(103 / 255f, 79 / 255f, 79 / 255f);
            _cave = BuildContainerObject("Cave", c);
        }

        var caveFilter = _cave.GetComponent <MeshFilter>();

        if (GenerateFloorPlanMesh)
        {
            _floorPlanMeshCreator = new FloorPlanMeshCreator(marchingSquares);
            caveFilter.sharedMesh = _floorPlanMeshCreator.Create();
        }
        _cave.gameObject.SetActive(GenerateFloorPlanMesh);


        if (_walls == null)
        {
            var c = new Color(103 / 255f, 0, 0);
            _walls = BuildContainerObject("Walls", c);
        }

        var wallFilter = _walls.GetComponent <MeshFilter>();

        if (GenerateWallMesh)
        {
            wallFilter.mesh = new WallMeshCreator(marchingSquares).Create();
        }
        _walls.gameObject.SetActive(GenerateWallMesh);
    }
 public FloorPlanMeshCreator(MarchingSquaresMeshData marchingSquaresMeshData)
 {
     _marchingSquaresMeshData = marchingSquaresMeshData;
 }
Exemplo n.º 3
0
 public WallMeshCreator(MarchingSquaresMeshData marchingSquaresMeshData)
 {
     _marchingSquaresMeshData = marchingSquaresMeshData;
 }