From 3eae67c90c2984dfe93e41c18f55895fcdee66ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tur=C3=A1nszki=20J=C3=A1nos?= Date: Sun, 6 Mar 2022 17:55:38 +0100 Subject: [PATCH] editor: parented duplication fix #389 --- Editor/Editor.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Editor/Editor.cpp b/Editor/Editor.cpp index 83812aad1..ab7f79eb7 100644 --- a/Editor/Editor.cpp +++ b/Editor/Editor.cpp @@ -1441,10 +1441,12 @@ void EditorComponent::Update(float dt) EntitySerializer seri; clipboard.SetReadModeAndResetPos(false); clipboard << prevSel.size(); + translator.PreTranslate(); for (auto& x : prevSel) { scene.Entity_Serialize(clipboard, seri, x); } + translator.PostTranslate(); if (wi::input::Press((wi::input::BUTTON)'X')) { @@ -1486,16 +1488,22 @@ void EditorComponent::Update(float dt) RecordSelection(archive); auto& prevSel = translator.selectedEntitiesNonRecursive; - ClearSelected(); - + translator.PreTranslate(); wi::vector addedEntities; for (auto& x : prevSel) { wi::scene::PickResult picked; picked.entity = scene.Entity_Duplicate(x); - AddSelected(picked); addedEntities.push_back(picked.entity); } + translator.PostTranslate(); + + ClearSelected(); + + for (auto& x : addedEntities) + { + AddSelected(x); + } RecordSelection(archive); RecordAddedEntity(archive, addedEntities);