8#include <brenta/audio.hpp>
9#include <brenta/buffer.hpp>
10#include <brenta/camera.hpp>
11#include <brenta/frame_buffer.hpp>
12#include <brenta/gl.hpp>
13#include <brenta/gui.hpp>
14#include <brenta/input.hpp>
15#include <brenta/logger.hpp>
16#include <brenta/mesh.hpp>
17#include <brenta/model.hpp>
18#include <brenta/particles.hpp>
19#include <brenta/window.hpp>
20#include <brenta/shader.hpp>
21#include <brenta/text.hpp>
22#include <brenta/texture.hpp>
23#include <brenta/time.hpp>
24#include <brenta/translation.hpp>
25#include <brenta/vao.hpp>
26#include <brenta/subsystem.hpp>
27#include <brenta/ecs.hpp>
52 static const std::string subsystem_name;
55 std::expected<void, subsystem::error> initialize()
override;
56 std::expected<void, subsystem::error> terminate()
override;
57 std::string
name()
override;
75 static std::expected<void, std::string>
80 static std::vector<std::reference_wrapper<subsystem>> subsystems;
81 static bool initialized;
110 std::vector<std::reference_wrapper<brenta::subsystem>> subsystems;
Automatically initialize and terminate engine with RAII.
~manager()
Terminates all subsystems.
manager()
Initializes all subsystems, throws and exeption in case of failure.
std::string name() override
Returns the name of the sybsystem.
static std::expected< void, std::string > with(subsystem::builder &&builder)
Initialize a subsystem and add it to the managed subsystems (will be terminated with the others).
bool is_initialized() override
Returns true if the subsystem is initialized.
static engine & instance()
Get a static object instance.