public override void OnInspectorGUI() { Terrain_Flat terrain = (Terrain_Flat)target; if (GUILayout.Button("Update")) { terrain.Generate(); } if (GUILayout.Button("Keep colors")) { ColorPalette c = CreateInstance <ColorPalette>(); System.Random random = new System.Random(Random.Range(0, 100)); int num1 = random.Next(); string path = string.Format("Assets/Palettes/{0}.asset", num1); AssetDatabase.CreateAsset(c, path); AssetDatabase.SaveAssets(); ColorPalette inst = (ColorPalette)AssetDatabase.LoadAssetAtPath(path, typeof(ColorPalette)); inst.SetColors(terrain.Colors[0], terrain.Colors[1], terrain.Colors[2], terrain.Colors[3]); } base.OnInspectorGUI(); }
void Start() { maxViewDst = detailLevels[detailLevels.Length - 1].visibleDstThreshold / 2; chunkSize = mapGenerator.mapChunkSize - 1; chunksVisibleInViewDst = Mathf.RoundToInt(maxViewDst / chunkSize); UpdateVisibleChunks(); Terrain_Flat tF = FindObjectOfType <Terrain_Flat>(); tF.Generate(); }
private void Start() { instance = this; if (randomOnStart) { for (int i = 0; i < BaseColorCount; i++) { Colors[i] = new Color(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)); float heightval; if (i == 0) { heightval = Random.Range(0, 0.05f); } else { heightval = Random.Range(0f, (float)1 / BaseColorCount) + ((float)i / BaseColorCount) / 1.5f; } Heights[i] = heightval; BlendLevels[i] = Random.Range(0.1f, 0.7f); } } if (usePalette) { if (ColorPalettePersistance.instance != null) { ColorPalettePersistance col = FindObjectOfType <ColorPalettePersistance>(); for (int i = 0; i < BaseColorCount; i++) { Colors[i] = col.CurrentColorPalette.Colors[i]; } } } }