Added appropriate delete statements.

This commit is contained in:
2022-11-12 01:35:47 -08:00
parent 42645883cd
commit d81cb5d834
14 changed files with 71 additions and 8 deletions

View File

@ -9,6 +9,8 @@
using namespace Dawn;
Scene::Scene(DawnGame *game) {
assertNotNull(game);
this->game = game;
this->nextId = 0;
}
@ -38,5 +40,15 @@ SceneItem * Scene::createSceneItem() {
}
Scene::~Scene() {
auto it = this->items.begin();
while(it != this->items.end()) {
delete it->second;
++it;
}
auto it2 = this->itemsNotInitialized.begin();
while(it2 != this->itemsNotInitialized.end()) {
delete it2->second;
++it2;
}
}

View File

@ -9,6 +9,8 @@
using namespace Dawn;
SceneItem::SceneItem(Scene *scene, sceneitemid_t id) : transform(this) {
assertNotNull(scene);
this->id = id;
this->scene = scene;
}
@ -53,5 +55,9 @@ void SceneItem::init() {
}
SceneItem::~SceneItem() {
std::cout << "Scene item disposed" << std::endl;
auto it = this->components.begin();
while(it != this->components.end()) {
delete *it;
++it;
}
}

View File

@ -45,6 +45,12 @@ void UICanvas::onBackBufferResize(
}
UICanvas::~UICanvas() {
auto it = this->children.begin();
while(it != this->children.end()) {
delete *it;
++it;
}
this->getGame()->renderManager.getBackBuffer()->eventRenderTargetResized
.removeListener(this, &UICanvas::onBackBufferResize)
;