GameTimerUpdateSystem.ixx File
System that advances all game timers each frame. More...
Included Headers
#include <helios.engine.mechanics.timing.commands>
#include <helios.engine.mechanics.timing.types>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.runtime.messaging.command.EngineCommandBuffer>
#include <helios.engine.common.tags.SystemRole>
#include <helios.engine.state.Bindings>
#include <helios.engine.mechanics.timing.TimerManager>
#include <helios.engine.mechanics.timing.GameTimer>
Namespaces Index
| namespace | helios |
| namespace | engine |
|
Main engine module aggregating core infrastructure and game systems. More... | |
| namespace | mechanics |
|
High-level gameplay systems and components for game logic. More... | |
| namespace | timing |
|
Game timer management system. More... | |
| namespace | systems |
|
Systems for the timing module. More... | |
Classes Index
| class | GameTimerUpdateSystem |
|
Updates all game timers managed by the TimerManager. More... | |
Description
System that advances all game timers each frame.
File Listing
The file content with the documentation metadata removed is:
23using namespace helios::engine::mechanics::timing;
25using namespace helios::engine::mechanics::timing::types;
26using namespace helios::engine::mechanics::timing::commands;
28export namespace helios::engine::mechanics::timing::systems {
39 class GameTimerUpdateSystem {
44 TimerManager& timerManager_;
57 explicit GameTimerUpdateSystem(TimerManager& timerManager)
65 void update(helios::engine::runtime::world::UpdateContext& updateContext) noexcept {
68 if (gameTimer.state() == TimerState::Running) {
73 auto context = TimerControlContext{gameTimer.gameTimerId(), TimerState::Finished};
74 updateContext.queueCommand<TimerControlCommand>(context);
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.