aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/LoopManager.cpp
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-06 10:44:42 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-06 10:44:42 +0100
commitd5f63024ebed7df2fff8e016bd1c7c26f8fdfa27 (patch)
treeb26e35cb0482d04a33cc96d97ba21c21d0012229 /src/crepe/api/LoopManager.cpp
parent9cde6875186b335c75eafa6402f0957cd4252c76 (diff)
parent1f4e961d7f9d6887c807cac1a362f2d178b0860b (diff)
Merge branch 'master' into decoupling
Diffstat (limited to 'src/crepe/api/LoopManager.cpp')
-rw-r--r--src/crepe/api/LoopManager.cpp31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/crepe/api/LoopManager.cpp b/src/crepe/api/LoopManager.cpp
index 51d9122..3e9a88e 100644
--- a/src/crepe/api/LoopManager.cpp
+++ b/src/crepe/api/LoopManager.cpp
@@ -1,30 +1,30 @@
-#include "../facade/SDLContext.h"
-
#include "../system/AnimatorSystem.h"
#include "../system/CollisionSystem.h"
+#include "../system/InputSystem.h"
#include "../system/ParticleSystem.h"
#include "../system/PhysicsSystem.h"
#include "../system/RenderSystem.h"
#include "../system/ScriptSystem.h"
#include "LoopManager.h"
-#include "LoopTimer.h"
using namespace crepe;
using namespace std;
LoopManager::LoopManager() {
+ this->mediator.component_manager = this->component_manager;
+ this->mediator.scene_manager = this->scene_manager;
+
this->load_system<AnimatorSystem>();
this->load_system<CollisionSystem>();
this->load_system<ParticleSystem>();
this->load_system<PhysicsSystem>();
this->load_system<RenderSystem>();
this->load_system<ScriptSystem>();
+ this->load_system<InputSystem>();
}
-void LoopManager::process_input() {
- SDLContext::get_instance().handle_events(this->game_running);
-}
+void LoopManager::process_input() { this->get_system<InputSystem>().update(); }
void LoopManager::start() {
this->setup();
@@ -35,7 +35,7 @@ void LoopManager::set_running(bool running) { this->game_running = running; }
void LoopManager::fixed_update() {}
void LoopManager::loop() {
- LoopTimer & timer = LoopTimer::get_instance();
+ LoopTimer & timer = this->loop_timer;
timer.start();
while (game_running) {
@@ -55,19 +55,18 @@ void LoopManager::loop() {
}
void LoopManager::setup() {
+ LoopTimer & timer = this->loop_timer;
+
this->game_running = true;
- LoopTimer::get_instance().start();
- LoopTimer::get_instance().set_fps(200);
+ timer.start();
+ timer.set_fps(200);
this->scene_manager.load_next_scene();
}
void LoopManager::render() {
- if (this->game_running) {
- this->get_system<RenderSystem>().update();
- }
-}
+ if (!this->game_running) return;
-void LoopManager::update() {
- LoopTimer & timer = LoopTimer::get_instance();
- this->get_system<AnimatorSystem>().update();
+ this->get_system<RenderSystem>().update();
}
+
+void LoopManager::update() {}