From 830922541296d049cd5c0689c1f610586f56bc75 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Sat, 28 Dec 2024 00:25:41 -0700 Subject: Reimpl Lakitu --- src/engine/GarbageCollector.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/engine/GarbageCollector.cpp (limited to 'src/engine/GarbageCollector.cpp') diff --git a/src/engine/GarbageCollector.cpp b/src/engine/GarbageCollector.cpp new file mode 100644 index 000000000..926620fe1 --- /dev/null +++ b/src/engine/GarbageCollector.cpp @@ -0,0 +1,31 @@ +#include "GarbageCollector.h" +#include "World.h" + +void RunGarbageCollector() { + //CleanActors(); + CleanObjects(); +} + +void CleanActors() { + // for (auto actor = gWorldInstance.Actors.begin(); actor != gWorldInstance.Actors.end();) { + // OObject* act = *actor; // Get a mutable copy + // if (act->PendingDestroy) { + // delete act; + // actor = gWorldInstance.Objects.erase(actor); // Remove from container + // continue; + // } + // actor++; + // } +} + +void CleanObjects() { + for (auto object = gWorldInstance.Objects.begin(); object != gWorldInstance.Objects.end();) { + OObject* obj = *object; // Get a mutable copy + if (obj->PendingDestroy) { + delete obj; + object = gWorldInstance.Objects.erase(object); // Remove from container + continue; + } + object++; + } +} \ No newline at end of file -- cgit v1.2.3