DelayedComponentEnablerSystem Class
System that processes delayed component activations each frame. More...
Declaration
Base class
| class | System |
|
Abstract base class for game systems. More... | |
Public Member Functions Index
| void | update (helios::engine::runtime::world::UpdateContext &updateContext) noexcept override |
|
Processes all deferred components and activates expired ones. More... | |
Private Member Attributes Index
| std::vector< helios::engine::core::data::ComponentTypeId > | sync_ |
|
Temporary buffer for components that completed their delay. More... | |
Description
System that processes delayed component activations each frame.
DelayedComponentEnablerSystem iterates over all entities with a DelayedComponentEnabler component and decrements the delay timers. When a timer reaches zero, the corresponding component is enabled.
This system enables gameplay patterns such as:
- **Spawn immunity:** Projectiles/enemies ignore collisions briefly
- **Staggered activation:** Wave spawns activate progressively
- **Effect sequencing:** Components enable in a defined order
Should be scheduled in the gameplay phase to ensure proper timing.
- See Also
DelayedComponentEnabler
- See Also
DelayedComponentEnablerInitializer
Definition at line 41 of file DelayedComponentEnablerSystem.ixx.
Public Member Functions
update()
| inline noexcept virtual |
Processes all deferred components and activates expired ones.
For each entity with DelayedComponentEnabler: 1. Decrements all delay timers by deltaTime 2. Enables components whose timers reach zero 3. Removes activated components from the deferred list
- Parameters
-
updateContext Provides deltaTime for timer updates.
Definition at line 60 of file DelayedComponentEnablerSystem.ixx.
References helios::engine::ecs::System::gameWorld_ and helios::engine::ecs::ComponentOpsRegistry::ops.
Private Member Attributes
sync_
|
Temporary buffer for components that completed their delay.
Definition at line 46 of file DelayedComponentEnablerSystem.ixx.
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.