summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-08-19 16:04:15 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-08-19 16:04:15 +0200
commitbb40b3cc7b31b2dfc74219dd14cd69f00fc4dd1f (patch)
treec6e5b73be85f233a584b2424981bad5e2eab3d8c
parenta07f20b3e5e73c7cefb429716ad826d702cf315a (diff)
parentbf9fdc5b96f60bbf24054f3c1b21a89007eaaa6c (diff)
downloadredot-engine-bb40b3cc7b31b2dfc74219dd14cd69f00fc4dd1f.tar.gz
Merge pull request #84831 from EelisOtsamo/editor_3d_click_select_skip_locked
Ignore locked nodes when click selecting in 3d editor
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index 22300fe851..6850a79ce6 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -1918,12 +1918,17 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
}
if (after != EditorPlugin::AFTER_GUI_INPUT_CUSTOM) {
- //clicking is always deferred to either move or release
- clicked = _select_ray(b->get_position());
+ // Single item selection.
+ Vector<_RayResult> selection;
+ _find_items_at_pos(b->get_position(), selection, false);
+ if (!selection.is_empty()) {
+ clicked = selection[0].item->get_instance_id();
+ }
+
selection_in_progress = true;
if (clicked.is_null()) {
- //default to regionselect
+ // Default to region select.
cursor.region_select = true;
cursor.region_begin = b->get_position();
cursor.region_end = b->get_position();