From 1d6e664d9fe03cfacba2f10603c3442e1821e326 Mon Sep 17 00:00:00 2001 From: ayuan9957 <107920784+ayuan9957@users.noreply.github.com> Date: Wed, 17 Jun 2026 16:34:03 +0800 Subject: [PATCH] feat(editor): support viewport range selection --- .../Private/MetaCoreBuiltinCoreServicesModule.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp b/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp index 6eec08f..d39cc11 100644 --- a/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp +++ b/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp @@ -7163,6 +7163,12 @@ public: } void ApplyViewportSelection(MetaCoreEditorContext& editorContext, MetaCoreId pickedObjectId) override { + const ImGuiIO& io = ImGui::GetIO(); + if (pickedObjectId != 0 && io.KeyShift) { + editorContext.SelectRangeByOrderedIds(editorContext.GetScene().BuildHierarchyPreorder(), pickedObjectId, io.KeyCtrl); + return; + } + if (editorContext.GetInput().IsKeyDown(MetaCoreInputKey::Control)) { if (pickedObjectId != 0) { editorContext.ToggleSelection(pickedObjectId);