public override void OnInspectorGUI() { DrawAds(); currentTab = EditorCommon.Tabs( currentTab, EditorGUIUtility.singleLineHeight, EditorGUIUtility.IconContent(TERRAIN_ICON_PATH, "!General terrain settings"), EditorGUIUtility.IconContent(GEOMETRY_PAINTER_ICON_PATH, "!Geometry painter tool"), EditorGUIUtility.IconContent(COLOR_PAINTER_ICON_PATH, "!Color painter tool"), EditorGUIUtility.IconContent(ENVIRONMENTAL_PAINTER_ICON_PATH, "!Environmental painter tool")); EditorGUILayout.Space(); if (currentTab == TAB_TERRAIN) { TerrainTabInspectorDrawer.DrawGUI(instance); } else if (currentTab == TAB_GEOMETRY_PAINTER) { GeometryTabInspectorDrawer.DrawGUI(instance); } else if (currentTab == TAB_COLOR_PAINTER) { ColorPainterTabInspectorDrawer.DrawGUI(instance); } else if (currentTab == TAB_ENVIRONMENTAL_PAINTER) { EnvironmentalTabInspectorDrawer.DrawGUI(instance, ref libraryObjectPickerControlId); } instance.ShowVertexWarperSceneGUI = currentTab == TAB_TERRAIN && instance.inspector.isDeformationGroupExpanded; instance.EnableGeometryPainter = currentTab == TAB_GEOMETRY_PAINTER; instance.EnableColorPainter = currentTab == TAB_COLOR_PAINTER; instance.EnableEnvironmentalPainter = currentTab == TAB_ENVIRONMENTAL_PAINTER; instance.EnvironmentalPainter.Settings.mode = currentTab == TAB_TERRAIN ? EnvironmentalPainter.Mode.Spawning : instance.EnvironmentalPainter.Settings.mode; HandleGUICommand(); if (currentTab == TAB_TERRAIN) { instance.EnvironmentalPainter.HideMask(); instance.EnvironmentalPainter.HidePreview(); instance.EnvironmentalPainter.HideHandle(); instance.GeometryPainter.HideHandle(); instance.ColorPainter.HideHandle(); } }