diff options
Diffstat (limited to 'src/crepe/api/LoopManager.cpp')
-rw-r--r-- | src/crepe/api/LoopManager.cpp | 72 |
1 files changed, 34 insertions, 38 deletions
diff --git a/src/crepe/api/LoopManager.cpp b/src/crepe/api/LoopManager.cpp index d4345d0..b4382a6 100644 --- a/src/crepe/api/LoopManager.cpp +++ b/src/crepe/api/LoopManager.cpp @@ -1,66 +1,62 @@ +#include "../facade/SDLContext.h" #include "../system/RenderSystem.h" #include "../system/ScriptSystem.h" -#include "../facade/SDLContext.h" #include "LoopManager.h" #include "LoopTimer.h" using namespace crepe; -LoopManager::LoopManager(const RenderSystem& renderSystem, const SDLContext& sdlContext, - const LoopTimer& loopTimer, const ScriptSystem& scriptSystem, - const SoundSystem& soundSystem, const ParticleSystem& particleSystem, - const PhysicsSystem& physicsSystem, const AnimatorSystem& animatorSystem, - const CollisionSystem& collisionSystem) { - // Initialize systems if needed - // Example: this->renderSystem = renderSystem; +LoopManager::LoopManager( + const RenderSystem & renderSystem, const SDLContext & sdlContext, + const LoopTimer & loopTimer, const ScriptSystem & scriptSystem, + const SoundSystem & soundSystem, const ParticleSystem & particleSystem, + const PhysicsSystem & physicsSystem, const AnimatorSystem & animatorSystem, + const CollisionSystem & collisionSystem) { + // Initialize systems if needed + // Example: this->renderSystem = renderSystem; } void LoopManager::process_input() { - SDLContext::get_instance().handle_events(this->game_running); + SDLContext::get_instance().handle_events(this->game_running); } -void LoopManager::start(){ - this->setup(); - this->loop(); +void LoopManager::start() { + this->setup(); + this->loop(); } void LoopManager::set_running(bool running) { this->game_running = running; } -void LoopManager::fixed_update() { -} +void LoopManager::fixed_update() {} void LoopManager::loop() { - LoopTimer & timer = LoopTimer::get_instance(); - timer.start(); + LoopTimer & timer = LoopTimer::get_instance(); + timer.start(); - while (game_running) { - timer.update(); + while (game_running) { + timer.update(); - while (timer.get_lag() >= timer.get_fixed_delta_time()) { - this->process_input(); - this->fixed_update(); - timer.advance_fixed_update(); - } + while (timer.get_lag() >= timer.get_fixed_delta_time()) { + this->process_input(); + this->fixed_update(); + timer.advance_fixed_update(); + } - this->update(); - this->render(); + this->update(); + this->render(); - timer.enforce_frame_rate(); - } + timer.enforce_frame_rate(); + } } - void LoopManager::setup() { - this->game_running = true; - LoopTimer::get_instance().start(); - LoopTimer::get_instance().set_fps(60); + this->game_running = true; + LoopTimer::get_instance().start(); + LoopTimer::get_instance().set_fps(60); } void LoopManager::render() { - if (this->game_running) { - RenderSystem::get_instance().update(); - } -} - -void LoopManager::update() { - LoopTimer & timer = LoopTimer::get_instance(); + if (this->game_running) { + RenderSystem::get_instance().update(); + } } +void LoopManager::update() { LoopTimer & timer = LoopTimer::get_instance(); } |