From 791c153aabd579f518a9b00613459cba13734797 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Fri, 6 Oct 2023 14:42:03 -0400 Subject: Memory management - ctors and dtors --- src/ecs.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/ecs.cpp') 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 EntitiesToBeRemoved{16}; // public +DynArray entitiesYetToBeRemoved{0}; DynArray entitiesMarkedForRemoval{16}; BucketContainer Entities_BucketContainer{}; @@ -74,7 +75,6 @@ void ECS_MarkForRemoval(EntityHandle entityHandle) { } void ECS_Tick_Early(double delta) { - static DynArray 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(); +} -- cgit v1.2.3