spline undo fixes #1411

This commit is contained in:
Turánszki János
2025-12-29 13:17:45 +01:00
parent cf3217ebac
commit 49a45745e4
5 changed files with 53 additions and 4 deletions
+14
View File
@@ -5041,6 +5041,7 @@ void EditorComponent::ConsumeHistoryOperation(bool undo)
}
break;
case HISTORYOP_ADD:
case HISTORYOP_ADD_TO_SPLINE:
{
// Read selections states from archive:
@@ -5074,6 +5075,19 @@ void EditorComponent::ConsumeHistoryOperation(bool undo)
selectedAFTER.push_back(sel);
}
if (type == HISTORYOP_ADD_TO_SPLINE)
{
wi::vector<Entity> modifiedSplineEntities;
archive >> modifiedSplineEntities;
EntitySerializer seri;
seri.allow_remap = false;
for (size_t i = 0; i < modifiedSplineEntities.size(); ++i)
{
scene.Entity_Remove(modifiedSplineEntities[i], false); // no recursive!!!
scene.Entity_Serialize(archive, seri, INVALID_ENTITY, wi::scene::Scene::EntitySerializeFlags::KEEP_INTERNAL_ENTITY_REFERENCES); // no recursive!!!
}
}
wi::vector<Entity> addedEntities;
archive >> addedEntities;