private void InitPrefabsAndScripts() { // Biome/color tuple Tuple <uint, uint, uint, uint, uint> BiomeTuple = new Tuple <uint, uint, uint, uint, uint>(biome_Water, biome_Sand, biome_Grass, biome_Mountain, biome_Snow); Tuple <Color, Color, Color, Color, Color> ColorTuple = new Tuple <Color, Color, Color, Color, Color>(texture_WaterColor, texture_SandColor, texture_GrassColor, texture_MountainColor, texture_SnowColor); // Heightmap tuples Tuple <float, float, float, float, float> heightmapBasesTuple = new Tuple <float, float, float, float, float>(heightmap_WaterBase, heightmap_SandBase, heightmap_GrassBase, heightmap_MountainBase, heightmap_SnowBase); Tuple <float, float, float, float, float> heightmapDispTuple = new Tuple <float, float, float, float, float>(heightmap_WaterDisp, heightmap_SandDisp, heightmap_GrassDisp, heightmap_MountainDisp, heightmap_SnowDisp); // Model placer GameObject ModelPlacerPrefab = (GameObject)Resources.Load("PipelinePrefabs/ModelPlacerPrefab"); ModelPlacerInstance = (GameObject)GameObject.Instantiate(ModelPlacerPrefab, new Vector3(0, 0, 0), Quaternion.identity); ModelPlacerScript = ModelPlacerInstance.GetComponent <ModelPlacer>(); ModelPlacerScript.Init(heightmap_PowerN, block_VertexWidth, biome_HeightmapContentWidth, mp_waterHeight, heightmap_deltaClamp, BiomeTuple, mp_modelsPerBlock, mp_modelPlacementChance); // Biome gen GameObject BiomeGenPrefab = (GameObject)Resources.Load("PipelinePrefabs/BiomeGenPrefab"); BiomeGenInstance = (GameObject)GameObject.Instantiate(BiomeGenPrefab, new Vector3(0, 0, 0), Quaternion.identity); BiomeGenScript = BiomeGenInstance.GetComponent <BiomeGen>(); BiomeGenScript.Init(biome_Dimensions, biome_SeedSpacing, biome_DisplacementDiv, BiomeTuple); // Map database GameObject MapDatabasePrefab = (GameObject)Resources.Load("PipelinePrefabs/MapDatabasePrefab"); MapDatabaseInstance = (GameObject)GameObject.Instantiate(MapDatabasePrefab, new Vector3(0, 0, 0), Quaternion.identity); MapDatabaseScript = MapDatabaseInstance.GetComponent <MapDatabase>(); MapDatabaseScript.Init(heightmap_PowerN, biome_Dimensions, biome_HeightmapContentWidth, block_VertexWidth); // Heightmap gen GameObject HeightmapGenPrefab = (GameObject)Resources.Load("PipelinePrefabs/HeightmapGenPrefab"); HeightmapGenInstance = (GameObject)GameObject.Instantiate(HeightmapGenPrefab, new Vector3(0, 0, 0), Quaternion.identity); HeightmapGenScript = HeightmapGenInstance.GetComponent <HeightmapGen>(); HeightmapGenScript.Init(heightmap_PowerN, BiomeTuple, heightmapBasesTuple, heightmapDispTuple, heightmap_displacementScale, heightmap_deltaScale, heightmap_deltaClamp);; // Material gen GameObject MaterialGenPrefab = (GameObject)Resources.Load("PipelinePrefabs/MaterialGenPrefab"); MaterialGenInstance = (GameObject)GameObject.Instantiate(MaterialGenPrefab, new Vector3(0, 0, 0), Quaternion.identity); MaterialGenScript = MaterialGenInstance.GetComponent <MaterialGen>(); MaterialGenScript.InitTexture(material_Resolution, heightmap_PowerN, BiomeTuple, ColorTuple); // Model gen / master terrain ModelGenPrefab = (GameObject)Resources.Load("PipelinePrefabs/ModelGenPrefab"); GameObject MasterTerrainPrefab = (GameObject)Resources.Load("PipelinePrefabs/MasterTerrainPrefab"); MasterTerrainInstance = (GameObject)GameObject.Instantiate(MasterTerrainPrefab, new Vector3(0, 0, 0), Quaternion.identity); }