File tree Expand file tree Collapse file tree 3 files changed +93
-167
lines changed Expand file tree Collapse file tree 3 files changed +93
-167
lines changed Original file line number Diff line number Diff line change @@ -25,9 +25,9 @@ http_archive(
25
25
26
26
http_archive (
27
27
name = "ecsact_runtime" ,
28
- sha256 = "" , # https://github.com/ecsact-dev/ecsact_runtime/pull/139
29
- strip_prefix = "ecsact_runtime-9d243cca4550fe3fa92aa3526466e7933d5d77ae " ,
30
- url = "https://github.com/ecsact-dev/ecsact_runtime/archive/9d243cca4550fe3fa92aa3526466e7933d5d77ae .zip" ,
28
+ sha256 = "" , # https://github.com/ecsact-dev/ecsact_runtime/pull/140
29
+ strip_prefix = "ecsact_runtime-e9689a232254c56107ff022c546ee03f53e1f04a " ,
30
+ url = "https://github.com/ecsact-dev/ecsact_runtime/archive/e9689a232254c56107ff022c546ee03f53e1f04a .zip" ,
31
31
)
32
32
33
33
load ("@rules_ecsact//ecsact:repositories.bzl" , "ecsact_register_toolchains" , "rules_ecsact_dependencies" )
Original file line number Diff line number Diff line change @@ -1211,7 +1211,6 @@ private:
1211
1211
});
1212
1212
auto entt_id = info.get_entt_entity_id (entity);
1213
1213
info.registry .template emplace <destroyed_entity>(entt_id);
1214
- info.destroy_entity (entity);
1215
1214
}
1216
1215
}
1217
1216
@@ -1274,6 +1273,18 @@ private:
1274
1273
return result;
1275
1274
}
1276
1275
1276
+ auto _destroy_entities (registry_info& info) {
1277
+ using ecsact::entt::detail::destroyed_entity;
1278
+
1279
+ ::entt::basic_view destroy_view{
1280
+ info.registry .template storage <destroyed_entity>(),
1281
+ };
1282
+
1283
+ for (entt_entity_type entity : destroy_view) {
1284
+ info.destroy_entity (info.get_ecsact_entity_id (entity));
1285
+ }
1286
+ }
1287
+
1277
1288
public:
1278
1289
#ifdef ECSACT_ENTT_RUNTIME_DYNAMIC_SYSTEM_IMPLS
1279
1290
bool set_system_execution_impl (
@@ -1335,6 +1346,7 @@ public:
1335
1346
_trigger_remove_component_events (info, *events_collector);
1336
1347
_trigger_destroy_entity_event (info, *events_collector);
1337
1348
}
1349
+ _destroy_entities (info);
1338
1350
_clear_event_markers (info);
1339
1351
1340
1352
info.mutex = std::nullopt;
You can’t perform that action at this time.
0 commit comments