6#include <brenta/ecs/ecs.hpp>
7#include <brenta/logger.hpp>
11using namespace brenta;
17const std::string Ecs::subsystem_name =
"ecs";
18bool Ecs::initialized =
false;
24std::expected<void, Subsystem::Error> Ecs::initialize()
26 if (this->is_initialized())
return {};
28 viotecs::World::init();
30 Ecs::initialized =
true;
31 INFO(
"{}: initialized", Ecs::subsystem_name);
35std::expected<void, Subsystem::Error> Ecs::terminate()
37 if (!this->is_initialized())
return {};
39 viotecs::World::destroy();
41 Ecs::initialized =
true;
42 INFO(
"{}: terminated", Ecs::subsystem_name);
46std::string Ecs::name()
48 return Ecs::subsystem_name;
51bool Ecs::is_initialized()
53 return Ecs::initialized;
72 return Ecs::instance();