From ec3601fbc17a38a44608a04f53d4e36c1bff8c96 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Wed, 13 Nov 2024 12:12:26 +0100 Subject: re-enable loop manager + remove more singletons --- src/crepe/api/LoopManager.h | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'src/crepe/api/LoopManager.h') diff --git a/src/crepe/api/LoopManager.h b/src/crepe/api/LoopManager.h index 2f03193..ef1c14f 100644 --- a/src/crepe/api/LoopManager.h +++ b/src/crepe/api/LoopManager.h @@ -2,15 +2,9 @@ #include -class RenderSystem; -class SDLContext; -class LoopTimer; -class ScriptSystem; -class SoundSystem; -class ParticleSystem; -class PhysicsSystem; -class AnimatorSystem; -class CollisionSystem; +#include "../system/System.h" +#include "../ComponentManager.h" + namespace crepe { class LoopManager { @@ -73,7 +67,22 @@ private: void render(); bool game_running = false; - //#TODO add system instances + +protected: + ComponentManager & get_component_manager(); + template + T & get_system(); + +private: + ComponentManager component_manager; + std::unordered_map> systems; + +private: + template + void load_system(); }; } // namespace crepe + +#include "LoopManager.hpp" + -- cgit v1.2.3