public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); s_showToolControls = TerrainToolGUIHelper.DrawHeaderFoldoutForBrush(Styles.controlHeader, s_showToolControls, () => { m_TargetHeight = 0; }); if (s_showToolControls) { EditorGUILayout.BeginVertical("GroupBox"); { #if UNITY_2019_3_OR_NEWER EditorGUI.BeginChangeCheck(); m_HeightSpace = (HeightSpace)EditorGUILayout.EnumPopup(Styles.space, m_HeightSpace); if (EditorGUI.EndChangeCheck()) { if (m_HeightSpace == HeightSpace.Local) { m_TargetHeight = Mathf.Clamp(m_TargetHeight, terrain.GetPosition().y, terrain.terrainData.size.y + terrain.GetPosition().y); } } if (m_HeightSpace == HeightSpace.Local) { m_TargetHeight = EditorGUILayout.Slider(Styles.height, m_TargetHeight - terrain.GetPosition().y, 0, terrain.terrainData.size.y) + terrain.GetPosition().y; } else { m_TargetHeight = EditorGUILayout.FloatField(Styles.height, m_TargetHeight); } #else m_TargetHeight = EditorGUILayout.Slider(Styles.height, m_TargetHeight, 0, terrain.terrainData.size.y); #endif GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button(Styles.flatten, GUILayout.ExpandWidth(false))) { Flatten(terrain); } if (GUILayout.Button(Styles.flattenAll, GUILayout.ExpandWidth(false))) { FlattenAll(terrain); } GUILayout.EndHorizontal(); if (EditorGUI.EndChangeCheck()) { Save(true); SaveSetting(); TerrainToolsAnalytics.OnParameterChange(); } } EditorGUILayout.EndVertical(); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { Styles styles = GetStyles(); EditorGUI.BeginChangeCheck(); EditorGUI.BeginChangeCheck(); m_HeightSpace = (HeightSpace)EditorGUILayout.EnumPopup(styles.space, m_HeightSpace); if (EditorGUI.EndChangeCheck()) { if (m_HeightSpace == HeightSpace.Local) { m_TargetHeight = Mathf.Clamp(m_TargetHeight, terrain.GetPosition().y, terrain.terrainData.size.y + terrain.GetPosition().y); } } if (m_HeightSpace == HeightSpace.Local) { m_TargetHeight = EditorGUILayout.Slider(styles.height, m_TargetHeight - terrain.GetPosition().y, 0, terrain.terrainData.size.y) + terrain.GetPosition().y; } else { m_TargetHeight = EditorGUILayout.FloatField(styles.height, m_TargetHeight); } if (EditorGUI.EndChangeCheck()) { Save(true); } GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button(styles.flatten, GUILayout.ExpandWidth(false))) { Flatten(terrain); } if (GUILayout.Button(styles.flattenAll, GUILayout.ExpandWidth(false))) { FlattenAll(); } GUILayout.EndHorizontal(); // show built-in brushes int textureRez = terrain.terrainData.heightmapResolution; editContext.ShowBrushesGUI(5, BrushGUIEditFlags.All, textureRez); }