From 1a5be23b9136819446b191a612a7d3068ff68e7b Mon Sep 17 00:00:00 2001 From: Relintai Date: Wed, 5 Feb 2025 20:32:09 +0100 Subject: [PATCH] Udpate the gizmo size properly in TerrainWorldEditor. --- .../terraman/editor/terrain_world_editor.cpp | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/modules/terraman/editor/terrain_world_editor.cpp b/modules/terraman/editor/terrain_world_editor.cpp index d8290c6ac..c2739ce4b 100644 --- a/modules/terraman/editor/terrain_world_editor.cpp +++ b/modules/terraman/editor/terrain_world_editor.cpp @@ -482,6 +482,20 @@ void TerrainWorldEditor::edit(TerrainWorld *p_world) { _gizmo = get_gizmo_from(_world); + switch (_tool_mode) { + case TOOL_MODE_ADD: + case TOOL_MODE_REMOVE: + break; + case TOOL_MODE_ISOLEVEL_BRUSH: { + _gizmo->size = _isolevel_brush_size; + } break; + case TOOL_MODE_PAINT_BRUSH: { + _gizmo->size = _paint_brush_size; + } break; + case TOOL_MODE_PAINT_PICKER: { + } break; + } + _channel_type = _world->get_channel_index_info(TerrainWorld::CHANNEL_TYPE_INFO_TYPE); _channel_isolevel = _world->get_channel_index_info(TerrainWorld::CHANNEL_TYPE_INFO_ISOLEVEL); @@ -1085,6 +1099,10 @@ void TerrainWorldEditor::_on_isolevel_brush_tool_button_pressed() { void TerrainWorldEditor::_on_isolevel_brush_size_slider_changed(float value) { _isolevel_brush_size = value; + + if (_gizmo.is_valid()) { + _gizmo->size = _isolevel_brush_size; + } } void TerrainWorldEditor::_on_isolevel_brush_strength_slider_changed(float value) { _isolevel_brush_strength = value; @@ -1106,6 +1124,10 @@ void TerrainWorldEditor::_on_paint_brush_allow_creating_chunks_selected() { } void TerrainWorldEditor::_on_paint_brush_size_slider_changed(float value) { _paint_brush_size = value; + + if (_gizmo.is_valid()) { + _gizmo->size = _paint_brush_size; + } } void TerrainWorldEditor::_on_paint_brush_channel_select_sb_changed(int value) { _paint_brush_channel = value; @@ -1194,7 +1216,8 @@ TerrainWorldEditorPlugin::TerrainWorldEditorPlugin(EditorNode *p_node) { add_control_to_container(CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT, terrain_world_editor); } break; } - make_visible(false); + + TerrainWorldEditorPlugin::make_visible(false); } TerrainWorldEditorPlugin::~TerrainWorldEditorPlugin() {