Spawn brush initial setup in TerrainWorldEditor.

This commit is contained in:
Relintai 2025-02-07 12:57:16 +01:00
parent ba6a112efb
commit 1da418523a
2 changed files with 26 additions and 0 deletions

View File

@ -114,6 +114,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break;
case TOOL_MODE_PAINT_PICKER: {
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
}
return EditorPlugin::AFTER_GUI_INPUT_PASS;
@ -157,6 +159,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break;
case TOOL_MODE_PAINT_PICKER: {
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
}
return EditorPlugin::AFTER_GUI_INPUT_STOP;
@ -222,6 +226,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break;
case TOOL_MODE_PAINT_PICKER: {
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
}
return EditorPlugin::AFTER_GUI_INPUT_PASS;
@ -242,6 +248,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came
} break;
case TOOL_MODE_PAINT_PICKER: {
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
}
_mouse_down = false;
@ -508,6 +516,8 @@ void TerrainWorldEditor::edit(TerrainWorld *p_world) {
} break;
case TOOL_MODE_PAINT_PICKER: {
} break;
case TOOL_MODE_SPAWN_BRUSH: {
} break;
}
_channel_type = _world->get_channel_index_info(TerrainWorld::CHANNEL_TYPE_INFO_TYPE);
@ -667,6 +677,14 @@ TerrainWorldEditor::TerrainWorldEditor(EditorNode *p_editor) {
_paint_brush_button->set_shortcut(ED_SHORTCUT("terrain_world_editor/paint_brush", "Paint Brush", KEY_P));
_tool_button_container->add_child(_paint_brush_button);
_spawn_brush_button = memnew(ToolButton);
_spawn_brush_button->set_toggle_mode(true);
_spawn_brush_button->set_button_group(_tool_button_group);
_spawn_brush_button->set_meta("tool_mode", TOOL_MODE_SPAWN_BRUSH);
_spawn_brush_button->connect("button_up", this, "_on_tool_button_pressed");
_spawn_brush_button->set_shortcut(ED_SHORTCUT("terrain_world_editor/spawn_brush", "Spawn Brush", KEY_M));
_tool_button_container->add_child(_spawn_brush_button);
_paint_picker_button = memnew(ToolButton);
_paint_picker_button->set_toggle_mode(true);
_paint_picker_button->set_button_group(_tool_button_group);
@ -917,6 +935,10 @@ void TerrainWorldEditor::_notification(int p_what) {
// Paint Brush
_paint_brush_allow_creating_chunks_button->set_icon(get_theme_icon("Add", "EditorIcons"));
// Spawn Brush
_spawn_brush_button->set_icon(get_theme_icon("AssetLib", "EditorIcons"));
} break;
}
}
@ -1058,6 +1080,8 @@ void TerrainWorldEditor::_on_tool_button_pressed() {
_isolevel_brush_tool_container->hide();
_paint_brush_tool_container->hide();
break;
case TOOL_MODE_SPAWN_BRUSH:
break;
default:
break;
}

View File

@ -56,6 +56,7 @@ public:
TOOL_MODE_ISOLEVEL_BRUSH,
TOOL_MODE_PAINT_BRUSH,
TOOL_MODE_PAINT_PICKER,
TOOL_MODE_SPAWN_BRUSH,
//TOOL_MODE_DELETE_BRUSH, //Sets data in channel to 0
// TODO object manipulation tools.
};
@ -159,6 +160,7 @@ private:
ToolButton *_isolevel_brush_button;
ToolButton *_paint_brush_button;
ToolButton *_paint_picker_button;
ToolButton *_spawn_brush_button;
HFlowContainer *_tool_button_container;
Ref<ButtonGroup> _tool_button_group;