diff options
| author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-12-07 14:21:31 +0100 | 
|---|---|---|
| committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-12-07 14:21:31 +0100 | 
| commit | e7423549a26c0df6db930329e2c4067b1c6777b7 (patch) | |
| tree | 0de96a7b935fead6cc9b5d04d09d713047372b1f /src/crepe/api/LoopManager.cpp | |
| parent | f3009ab8f0785a54d3fd83c0d758c8ebd901adda (diff) | |
| parent | fdb4c99e139a264d4e15e6913a3756fc6cccb2f2 (diff) | |
merge with master
Diffstat (limited to 'src/crepe/api/LoopManager.cpp')
| -rw-r--r-- | src/crepe/api/LoopManager.cpp | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/src/crepe/api/LoopManager.cpp b/src/crepe/api/LoopManager.cpp index 8fef0c4..044f096 100644 --- a/src/crepe/api/LoopManager.cpp +++ b/src/crepe/api/LoopManager.cpp @@ -5,6 +5,7 @@  #include "../system/PhysicsSystem.h"  #include "../system/RenderSystem.h"  #include "../system/ScriptSystem.h" +#include "manager/EventManager.h"  #include "LoopManager.h" @@ -29,7 +30,14 @@ void LoopManager::start() {  }  void LoopManager::set_running(bool running) { this->game_running = running; } -void LoopManager::fixed_update() {} +void LoopManager::fixed_update() { +	// TODO: retrieve EventManager from direct member after singleton refactor +	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() {  	LoopTimer & timer = this->loop_timer; @@ -53,15 +61,17 @@ void LoopManager::loop() {  void LoopManager::setup() {  	LoopTimer & timer = this->loop_timer; -  	this->game_running = true; +	this->scene_manager.load_next_scene();  	timer.start();  	timer.set_fps(200); +	this->scene_manager.load_next_scene();  }  void LoopManager::render() {  	if (!this->game_running) return; +	this->get_system<AnimatorSystem>().update();  	this->get_system<RenderSystem>().update();  }  |