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; }
public WallMeshCreator(MarchingSquaresMeshData marchingSquaresMeshData) { _marchingSquaresMeshData = marchingSquaresMeshData; }