Merge pull request #105791 from ryevdokimov/cancel-navigation

Add the ability to cancel pan/zoom/orbit navigation
This commit is contained in:
Thaddeus Crews
2026-03-09 15:18:26 -05:00
5 changed files with 52 additions and 11 deletions
+6 -6
View File
@@ -1424,12 +1424,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);
@@ -1451,6 +1445,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);