Pass Class
Abstract base class for game loop passes. More...
Declaration
Derived Classes
| class | TypedPass<StateType> |
|
State-filtered pass that only executes in specific states. More... | |
Public Constructors Index
| Pass (GameWorld &gameWorld) | |
|
Constructs a pass bound to a specific GameWorld. More... | |
Public Destructor Index
| ~Pass ()=default | |
Public Member Functions Index
| void | update (helios::engine::runtime::world::UpdateContext &updateContext)=0 |
|
Updates all systems in this pass. More... | |
| void | init (helios::engine::runtime::world::GameWorld &gameWorld)=0 |
|
Initializes all systems in this pass. More... | |
| Phase & | addCommitPoint (const CommitPoint commitPoint=CommitPoint::PassEvents)=0 |
| CommitPoint | commitPoint () const noexcept=0 |
|
Returns the configured commit point. More... | |
| bool | shouldRun (helios::engine::runtime::world::UpdateContext &updateContext) const noexcept=0 |
|
Determines if this pass should execute. More... | |
template <typename T, typename... Args> | |
| Pass & | addSystem (Args &&... args) |
|
Adds a system of type T to this pass. More... | |
Protected Member Attributes Index
| helios::engine::runtime::world::SystemRegistry | systemRegistry_ {} |
|
Registry holding all systems for this pass. More... | |
| GameWorld & | gameWorld_ |
|
Reference to the owning GameWorld. More... | |
Description
Abstract base class for game loop passes.
A Pass represents a logical grouping of systems executed sequentially within a Phase. Concrete implementations (TypedPass) add state-based filtering via shouldRun().
Definition at line 48 of file Pass.ixx.
Public Constructors
Pass()
| inline explicit |
Public Member Functions
addCommitPoint()
|
addSystem()
| inline |
Adds a system of type T to this pass.
- Template Parameters
-
T The system type to add.
Args Constructor argument types for the system.
- Parameters
-
args Arguments forwarded to the system constructor.
If T defines CommandBuffer_type, the buffer is resolved from the bound GameWorld and injected into the wrapped helios::engine::runtime::world::System.
- Returns
Reference to this Pass for method chaining.
Definition at line 131 of file Pass.ixx.
References gameWorld_, helios::engine::runtime::registerComponents, systemRegistry_ and helios::engine::runtime::world::GameWorld::tryCommandBuffer.
commitPoint()
| noexcept |
init()
|
shouldRun()
| noexcept |
update()
|
Protected Member Attributes
gameWorld_
| protected |
systemRegistry_
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.