diff options
| author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-07 15:21:54 +0100 | 
|---|---|---|
| committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-07 15:21:54 +0100 | 
| commit | 0f2451f4d48c78426c2663501e6cdd6871f1e94a (patch) | |
| tree | 5015832f112093ec9fcefcb22800657ea28e064c /src/crepe/api/LoopManager.cpp | |
| parent | f05458cdbf68e8efe1ed812f57e957921921941d (diff) | |
| parent | fdb4c99e139a264d4e15e6913a3756fc6cccb2f2 (diff) | |
Merge branch 'master' of https://github.com/lonkaars/crepe into wouter/gameloop
Diffstat (limited to 'src/crepe/api/LoopManager.cpp')
| -rw-r--r-- | src/crepe/api/LoopManager.cpp | 18 | 
1 files changed, 14 insertions, 4 deletions
diff --git a/src/crepe/api/LoopManager.cpp b/src/crepe/api/LoopManager.cpp index 42a1e77..c25e31e 100644 --- a/src/crepe/api/LoopManager.cpp +++ b/src/crepe/api/LoopManager.cpp @@ -3,10 +3,12 @@  #include "../manager/EventManager.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 "manager/EventManager.h"  #include "LoopManager.h" @@ -20,20 +22,27 @@ LoopManager::LoopManager() {  	this->load_system<PhysicsSystem>();  	this->load_system<RenderSystem>();  	this->load_system<ScriptSystem>(); +	this->load_system<InputSystem>();  	this->event_manager.subscribe<ShutDownEvent>(  		[this](const ShutDownEvent & event) { return this->on_shutdown(event); });  }  void LoopManager::process_input() {  -	 -	this->sdl_context.handle_events(this->game_running); } +	this->get_system<InputSystem>().update(); +}  void LoopManager::start() {  	this->setup();  	this->loop();  } -void LoopManager::fixed_update() {} +void LoopManager::fixed_update() { +	EventManager & ev = this->mediator.event_manager; +	ev.dispatch_events(); +	this->get_system<ScriptSystem>().update(); +	this->get_system<PhysicsSystem>().update(); +	this->get_system<CollisionSystem>().update(); +}  void LoopManager::loop() { @@ -55,14 +64,15 @@ void LoopManager::loop() {  }  void LoopManager::setup() { -  	this->game_running = true;  	this->loop_timer.start(); +	this->scene_manager.load_next_scene();  }  void LoopManager::render() {  	if (!this->game_running) return; +	this->get_system<AnimatorSystem>().update();  	this->get_system<RenderSystem>().update();  }  bool LoopManager::on_shutdown(const ShutDownEvent & e) {  |