void OnGUI() { materialSettings = thisMaterial.GetTransitionSettingsFromShader(); GUI.skin = _mySkin; GUILayout.Label("Transition settings"); GUI.skin = null; EditorGUILayout.BeginHorizontal(); { materialSettings.transitionLength1 = EditorGUILayout.FloatField("Transition1 Lenght", materialSettings.transitionLength1); materialSettings.transitionLength2 = EditorGUILayout.FloatField("Transition2 Lenght", materialSettings.transitionLength2); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel("Transition1 Position"); EditorGUILayout.FloatField(materialSettings.transitionPos1); } EditorGUILayout.EndHorizontal(); DrawTPosition(ref materialSettings.transitionPos1, ref materialSettings.transitionType1); } EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(); { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel("Transition2 Position"); EditorGUILayout.FloatField(materialSettings.transitionPos2); } EditorGUILayout.EndHorizontal(); DrawTPosition(ref materialSettings.transitionPos2, ref materialSettings.transitionType2); } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel("Transition1 Type"); EditorGUILayout.FloatField(materialSettings.transitionType1); } EditorGUILayout.EndHorizontal(); DrawTType(ref materialSettings.transitionType1); } EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(); { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel("Transition2 Type"); EditorGUILayout.FloatField(materialSettings.transitionType2); } EditorGUILayout.EndHorizontal(); DrawTType(ref materialSettings.transitionType2); } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); { DrawT1Textures(); GUILayout.FlexibleSpace(); DrawT2Textures(); GUILayout.FlexibleSpace(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); materialSettings.limitMin = EditorGUILayout.FloatField("LimitMin", materialSettings.limitMin); materialSettings.limitMax = EditorGUILayout.FloatField("LimitMax", materialSettings.limitMax); thisMaterial.SetTransitionSettingsToShader(materialSettings); }
public override void ChangeMaterialSettings(int biome, MaterialTerrain material, MaterialTerrain.MaterialSettings settings) { material.SetMaterialSettingsToShader(settings); foreach (Chunk chunk in _chunks) { var terrainManager = chunk.chunkTerrain.GetComponent <TerrainManager>(); terrainManager.ChangeMaterialSettings(biome, material, settings); } }
public override void ChangeMaterialSettings(int biome, MaterialTerrain material, MaterialTerrain.MaterialSettings settings) { if (chunk.chunkTerrain.materialTemplate == null) { return; } if (chunk.chunkTerrain.materialTemplate.name.Contains(material.name) || biome == BiomeManager.biomes.Count + 1) { MaterialTerrain newMat = new MaterialTerrain(chunk.chunkTerrain.materialTemplate); if (biome == BiomeManager.biomes.Count + 1) { newMat.withoutTextures = true; } newMat.SetMaterialSettingsToShader(settings); newMat.withoutTextures = false; chunk.chunkTerrain.materialTemplate = newMat.material; } }
abstract public void ChangeMaterialSettings(int biomeSelected, MaterialTerrain material, MaterialTerrain.MaterialSettings settings);