public override void DrawSettingContents() { EditorGUI.BeginDisabledGroup(Application.isPlaying); //EditorGUILayout.PropertyField(prop_settings); EditorGUI.BeginDisabledGroup(true); EditorGUILayout.ObjectField(GPUInstancerEditorConstants.TEXT_terrain, _treeManager.terrain, typeof(Terrain), true); EditorGUI.EndDisabledGroup(); EditorGUILayout.BeginHorizontal(); GPUInstancerEditorConstants.DrawColoredButton(GPUInstancerEditorConstants.Contents.paintOnTerrain, GPUInstancerEditorConstants.Colors.green, Color.white, FontStyle.Bold, Rect.zero, () => { if (_treeManager.terrain != null) { GPUInstancerTerrainProxy proxy = _treeManager.AddProxyToTerrain(); Selection.activeGameObject = _treeManager.terrain.gameObject; proxy.terrainSelectedToolIndex = 4; } }); GPUInstancerEditorConstants.DrawColoredButton(GPUInstancerEditorConstants.Contents.removeTerrain, Color.red, Color.white, FontStyle.Bold, Rect.zero, () => { if (EditorUtility.DisplayDialog(GPUInstancerEditorConstants.TEXT_removeTerrainConfirmation, GPUInstancerEditorConstants.TEXT_removeTerrainAreYouSure, GPUInstancerEditorConstants.TEXT_unset, GPUInstancerEditorConstants.TEXT_cancel)) { _treeManager.SetupManagerWithTerrain(null); } }); EditorGUILayout.EndHorizontal(); DrawHelpText(GPUInstancerEditorConstants.HELPTEXT_terrain); EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); DrawCameraDataFields(); DrawCullingSettings(_treeManager.prototypeList); DrawFloatingOriginFields(); DrawLayerMaskFields(); }
public override void DrawSettingContents() { EditorGUI.BeginDisabledGroup(Application.isPlaying); //EditorGUILayout.PropertyField(prop_settings); if (Application.isPlaying) { int index = 1; foreach (Terrain terrain in _treeManager.GetTerrains()) { EditorGUILayout.ObjectField("Terrain " + index, terrain, typeof(Terrain), true); index++; } } else { EditorGUI.BeginDisabledGroup(true); EditorGUILayout.ObjectField("Main " + GPUInstancerEditorConstants.TEXT_terrain, _treeManager.terrain, typeof(Terrain), true); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel++; EditorGUILayout.PropertyField(prop_additionalTerrains, true); EditorGUI.indentLevel--; if (prop_additionalTerrains.arraySize > 0) { EditorGUILayout.HelpBox("When using Tree Manager with multiple Terrains, it requires every Terrain to have the same Tree prototypes defined on it. Adding Terrains with different tree prototypes might cause incorrect rendering and errors.", MessageType.Warning); } } EditorGUILayout.BeginHorizontal(); GPUInstancerEditorConstants.DrawColoredButton(GPUInstancerEditorConstants.Contents.paintOnTerrain, GPUInstancerEditorConstants.Colors.green, Color.white, FontStyle.Bold, Rect.zero, () => { if (_treeManager.terrain != null) { GPUInstancerTerrainProxy proxy = _treeManager.AddProxyToTerrain(); Selection.activeGameObject = _treeManager.terrain.gameObject; proxy.terrainSelectedToolIndex = 4; } }); GPUInstancerEditorConstants.DrawColoredButton(GPUInstancerEditorConstants.Contents.removeTerrain, Color.red, Color.white, FontStyle.Bold, Rect.zero, () => { if (EditorUtility.DisplayDialog(GPUInstancerEditorConstants.TEXT_removeTerrainConfirmation, GPUInstancerEditorConstants.TEXT_removeTerrainAreYouSure, GPUInstancerEditorConstants.TEXT_unset, GPUInstancerEditorConstants.TEXT_cancel)) { _treeManager.SetupManagerWithTerrain(null); } }); EditorGUILayout.EndHorizontal(); DrawHelpText(GPUInstancerEditorConstants.HELPTEXT_terrain); EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); DrawCameraDataFields(); DrawCullingSettings(_treeManager.prototypeList); DrawFloatingOriginFields(); DrawLayerMaskFields(); }