Chunk remover tool initial setup in TerrainWorldEditor.

This commit is contained in:
Relintai 2025-02-07 14:45:40 +01:00
parent 3f267dcbfc
commit 16d62d3a34
2 changed files with 24 additions and 0 deletions

View File

@ -116,6 +116,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break; } break;
case TOOL_MODE_SPAWN_BRUSH: { case TOOL_MODE_SPAWN_BRUSH: {
} break; } break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
} }
return EditorPlugin::AFTER_GUI_INPUT_PASS; return EditorPlugin::AFTER_GUI_INPUT_PASS;
@ -161,6 +163,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break; } break;
case TOOL_MODE_SPAWN_BRUSH: { case TOOL_MODE_SPAWN_BRUSH: {
} break; } break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
} }
return EditorPlugin::AFTER_GUI_INPUT_STOP; return EditorPlugin::AFTER_GUI_INPUT_STOP;
@ -228,6 +232,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break; } break;
case TOOL_MODE_SPAWN_BRUSH: { case TOOL_MODE_SPAWN_BRUSH: {
} break; } break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
} }
return EditorPlugin::AFTER_GUI_INPUT_PASS; return EditorPlugin::AFTER_GUI_INPUT_PASS;
@ -250,6 +256,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break; } break;
case TOOL_MODE_SPAWN_BRUSH: { case TOOL_MODE_SPAWN_BRUSH: {
} break; } break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
} }
_mouse_down = false; _mouse_down = false;
@ -518,6 +526,8 @@ void TerrainWorldEditor::edit(TerrainWorld *p_world) {
} break; } break;
case TOOL_MODE_SPAWN_BRUSH: { case TOOL_MODE_SPAWN_BRUSH: {
} break; } break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
} }
_channel_type = _world->get_channel_index_info(TerrainWorld::CHANNEL_TYPE_INFO_TYPE); _channel_type = _world->get_channel_index_info(TerrainWorld::CHANNEL_TYPE_INFO_TYPE);
@ -693,6 +703,14 @@ TerrainWorldEditor::TerrainWorldEditor(EditorNode *p_editor) {
_paint_picker_button->set_shortcut(ED_SHORTCUT("terrain_world_editor/paint_picker", "Paint Picker", KEY_L)); _paint_picker_button->set_shortcut(ED_SHORTCUT("terrain_world_editor/paint_picker", "Paint Picker", KEY_L));
_tool_button_container->add_child(_paint_picker_button); _tool_button_container->add_child(_paint_picker_button);
_chunk_remove_button = memnew(ToolButton);
_chunk_remove_button->set_toggle_mode(true);
_chunk_remove_button->set_button_group(_tool_button_group);
_chunk_remove_button->set_meta("tool_mode", TOOL_MODE_CHUNK_REMOVE);
_chunk_remove_button->connect("button_up", this, "_on_tool_button_pressed");
_chunk_remove_button->set_shortcut(ED_SHORTCUT("terrain_world_editor/chunk_remove", "Chunk Remove", KEY_U));
_tool_button_container->add_child(_chunk_remove_button);
_add_button = memnew(ToolButton); _add_button = memnew(ToolButton);
//_add_button->set_text("Add"); //_add_button->set_text("Add");
_add_button->set_toggle_mode(true); _add_button->set_toggle_mode(true);
@ -939,6 +957,8 @@ void TerrainWorldEditor::_notification(int p_what) {
// Spawn Brush // Spawn Brush
_spawn_brush_button->set_icon(get_theme_icon("AssetLib", "EditorIcons")); _spawn_brush_button->set_icon(get_theme_icon("AssetLib", "EditorIcons"));
// Chunk Remove
_chunk_remove_button->set_icon(get_theme_icon("Clear", "EditorIcons"));
} break; } break;
} }
} }
@ -1082,6 +1102,8 @@ void TerrainWorldEditor::_on_tool_button_pressed() {
break; break;
case TOOL_MODE_SPAWN_BRUSH: case TOOL_MODE_SPAWN_BRUSH:
break; break;
case TOOL_MODE_CHUNK_REMOVE:
break;
default: default:
break; break;
} }

View File

@ -57,6 +57,7 @@ public:
TOOL_MODE_PAINT_BRUSH, TOOL_MODE_PAINT_BRUSH,
TOOL_MODE_PAINT_PICKER, TOOL_MODE_PAINT_PICKER,
TOOL_MODE_SPAWN_BRUSH, TOOL_MODE_SPAWN_BRUSH,
TOOL_MODE_CHUNK_REMOVE,
//TOOL_MODE_DELETE_BRUSH, //Sets data in channel to 0 //TOOL_MODE_DELETE_BRUSH, //Sets data in channel to 0
// TODO object manipulation tools. // TODO object manipulation tools.
}; };
@ -161,6 +162,7 @@ private:
ToolButton *_paint_brush_button; ToolButton *_paint_brush_button;
ToolButton *_paint_picker_button; ToolButton *_paint_picker_button;
ToolButton *_spawn_brush_button; ToolButton *_spawn_brush_button;
ToolButton *_chunk_remove_button;
HFlowContainer *_tool_button_container; HFlowContainer *_tool_button_container;
Ref<ButtonGroup> _tool_button_group; Ref<ButtonGroup> _tool_button_group;