Files
LEngine_deprecated/LEngine/ObjectsFactory.cpp
T

21 lines
461 B
C++
Raw Normal View History

2025-05-13 02:50:08 +03:00
#include "ObjectsFactory.h"
void ObjectsFactory::register_factory(factory_function factory, const std::wstring& class_name) {
_factory_functions[class_name] = factory;
}
ObjectsFactory& ObjectsFactory::instance()
{
static ObjectsFactory instance;
return instance;
}
std::shared_ptr<Object> ObjectsFactory::create_object(const std::wstring& class_name) const {
try {
return _factory_functions.at(class_name)();
} catch (...) {
return nullptr;
}
}