Files
AronaCore/core/misc/singleton/singleton_manager.cpp

28 lines
584 B
C++

#include "singleton_manager.h"
#include "singleton.h"
void singleton_manager::add(singleton* s) {
singletons_.push_back(s);
}
void singleton_manager::init() const {
singleton_initliazer initliazer;
for (const auto s : singletons_) {
s->init(initliazer);
initliazer.singletons_.push_back(s);
}
for (const auto s : singletons_) {
s->post_init();
}
}
void singleton_manager::release() const {
for (const auto s : singletons_) {
s->begin_release();
}
for (const auto s : singletons_) {
s->release();
}
}