Add the ability to cancel pan/zoom/orbit navigation

This commit is contained in:
Robert Yevdokimov
2025-04-26 18:55:57 +04:00
committed by ryevdokimov
parent 220b0b2f74
commit 05c915566c
5 changed files with 52 additions and 11 deletions
+6 -6
View File
@@ -1423,12 +1423,6 @@ void RuntimeNodeSelect::_cursor_interpolated() {
}
bool RuntimeNodeSelect::_handle_3d_input(const Ref<InputEvent> &p_event) {
Ref<InputEventMouseButton> b = p_event;
if (b.is_valid() && b->get_button_index() == MouseButton::RIGHT) {
view_3d_controller->set_freelook_enabled(b->is_pressed());
return true;
}
Window *root = SceneTree::get_singleton()->get_root();
ERR_FAIL_COND_V(!root->is_camera_3d_override_enabled(), true);
@@ -1450,6 +1444,12 @@ bool RuntimeNodeSelect::_handle_3d_input(const Ref<InputEvent> &p_event) {
return true;
}
Ref<InputEventMouseButton> b = p_event;
if (b.is_valid() && b->get_button_index() == MouseButton::RIGHT) {
view_3d_controller->set_freelook_enabled(b->is_pressed());
return true;
}
Ref<InputEventKey> k = p_event;
if (k.is_valid() && k->get_physical_keycode() == Key::ESCAPE) {
view_3d_controller->set_freelook_enabled(false);