From a29cbf793e4ddca8b94686b9476e1eaf0b3d90f9 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 26 Jul 2022 14:31:43 +0300 Subject: [PATCH] Fix removing packed entities --- libs/util/include/psemek/util/ecs.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/util/include/psemek/util/ecs.hpp b/libs/util/include/psemek/util/ecs.hpp index d645c291..43908af0 100644 --- a/libs/util/include/psemek/util/ecs.hpp +++ b/libs/util/include/psemek/util/ecs.hpp @@ -131,7 +131,7 @@ namespace psemek::util else { // packed - for (std::size_t i = 0; i < entity_count(); ++i) + for (std::size_t i = 0; i < entity_count();) { ctx.entity = i; ctx.remove = false; @@ -139,7 +139,10 @@ namespace psemek::util if (ctx.remove) remove_entity(i); else + { std::apply(increment, cptrs); + ++i; + } } } }