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;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
}
return EditorPlugin::AFTER_GUI_INPUT_PASS;
@ -161,6 +163,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
}
return EditorPlugin::AFTER_GUI_INPUT_STOP;
@ -228,6 +232,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
}
return EditorPlugin::AFTER_GUI_INPUT_PASS;
@ -250,6 +256,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
}
_mouse_down = false;
@ -518,6 +526,8 @@ void TerrainWorldEditor::edit(TerrainWorld *p_world) {
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
case TOOL_MODE_CHUNK_REMOVE: {
} break;
}
_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));
_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->set_text("Add");
_add_button->set_toggle_mode(true);
@ -939,6 +957,8 @@ void TerrainWorldEditor::_notification(int p_what) {
// Spawn Brush
_spawn_brush_button->set_icon(get_theme_icon("AssetLib", "EditorIcons"));
// Chunk Remove
_chunk_remove_button->set_icon(get_theme_icon("Clear", "EditorIcons"));
} break;
}
}
@ -1082,6 +1102,8 @@ void TerrainWorldEditor::_on_tool_button_pressed() {
break;
case TOOL_MODE_SPAWN_BRUSH:
break;
case TOOL_MODE_CHUNK_REMOVE:
break;
default:
break;
}

View File

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