diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-10-06 14:42:03 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-10-06 17:20:20 -0400 |
| commit | 791c153aabd579f518a9b00613459cba13734797 (patch) | |
| tree | 858ec6f9a8398398a8a53ec5a886bca5825c62e0 /src/ecs.cpp | |
| parent | 286bf5539527500429cfca4ded0bb78406f6364b (diff) | |
Memory management - ctors and dtors
Diffstat (limited to 'src/ecs.cpp')
| -rw-r--r-- | src/ecs.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ecs.cpp b/src/ecs.cpp index 03596f3..88088f5 100644 --- a/src/ecs.cpp +++ b/src/ecs.cpp @@ -18,6 +18,7 @@ struct InstanceBucket { }; DynArray<EntityHandle> EntitiesToBeRemoved{16}; // public +DynArray<Entity> entitiesYetToBeRemoved{0}; DynArray<EntityHandle> entitiesMarkedForRemoval{16}; BucketContainer<EntityBucket, EntityHandle_T> Entities_BucketContainer{}; @@ -74,7 +75,6 @@ void ECS_MarkForRemoval(EntityHandle entityHandle) { } void ECS_Tick_Early(double delta) { - static DynArray<Entity> entitiesYetToBeRemoved{0}; entitiesYetToBeRemoved.Resize(EntitiesToBeRemoved.Count()); EntitiesToBeRemoved.Resize(0); for (long b = 0; b <= Entities_BucketContainer.bucketCounter; ++b) { @@ -392,3 +392,9 @@ CompInstance *ECS_GetInstances(uint64_t bucketIndex, uint64_t &itemCount) { } return Comp_Instance_BucketContainer.buckets[bucketIndex].instances; } + +void ECS_Teardown() { + entitiesYetToBeRemoved.~DynArray(); + EntitiesToBeRemoved.~DynArray(); + entitiesMarkedForRemoval.~DynArray(); +} |
