void AssignMaterials(ThreeTierCave cave, Material floorMat, Material wallMat, Material ceilingMat) { foreach (var floor in cave.GetFloors()) { floor.Material = floorMat; } foreach (var wall in cave.GetWalls()) { wall.Material = wallMat; } foreach (var ceiling in cave.GetCeilings()) { ceiling.Material = ceilingMat; } }
public override GameObject Generate() { Map map = config.MapGenerator.Generate(); IHeightMap floor = config.FloorHeightMapModule.GetHeightMap(); IHeightMap ceiling = config.CeilingHeightMapModule.GetHeightMap(); CaveWallModule caveWalls = config.WallModule; Map[,] mapChunks = MapSplitter.Subdivide(map); CaveMeshes[,] caveChunks = GenerateCaveChunks(mapChunks, config.CaveType, config.Scale, floor, ceiling, caveWalls); ThreeTierCave cave = new ThreeTierCave(caveChunks); AssignMaterials(cave, config.FloorMaterial, config.WallMaterial, config.CeilingMaterial); return(cave.GameObject); }