diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2025-05-23 16:49:17 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-23 16:49:17 -0600 |
| commit | c2ddd2c25626b2797b9f730d77118f0e96131108 (patch) | |
| tree | be651a89fbe6f27bc6400d4f81ecab30cf6d967c /src/engine/editor/Editor.cpp | |
| parent | 98d55ab603e503c03456013b1bda0072d3e8725e (diff) | |
| parent | 9363e3d77631b1028a765c075a00293bd20c9ba7 (diff) | |
Merge branch 'transformfuncsforint' into transformsharedfromptr
Diffstat (limited to 'src/engine/editor/Editor.cpp')
| -rw-r--r-- | src/engine/editor/Editor.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/engine/editor/Editor.cpp b/src/engine/editor/Editor.cpp index 446da7487..23a947a09 100644 --- a/src/engine/editor/Editor.cpp +++ b/src/engine/editor/Editor.cpp @@ -30,6 +30,11 @@ namespace Editor { Editor::Editor() { } + Editor::~Editor() { + ClearObjects(); + ClearMatrixPool(); + } + void Editor::Load() { printf("Editor: Loading Editor...\n"); eObjectPicker.Load(); @@ -58,10 +63,16 @@ namespace Editor { Ship::Coords mousePos = wnd->GetMousePos(); bool isMouseDown = wnd->GetMouseState(Ship::LUS_MOUSE_BTN_LEFT); - eGameObjects.erase( - std::remove_if(eGameObjects.begin(), eGameObjects.end(), - [](const auto& object) { return (*object->DespawnFlag) == object->DespawnValue; }), - eGameObjects.end()); + auto it = std::remove_if(eGameObjects.begin(), eGameObjects.end(), + [](auto& object) { + if (*object->DespawnFlag == object->DespawnValue) { + delete object; // Free the pointed-to memory + return true; // Remove the pointer from the vector + } + return false; + }); + + eGameObjects.erase(it, eGameObjects.end()); if (isMouseDown && !wasMouseDown) { // Mouse just pressed (Pressed state) |
