DelayedComponentEnablerSystem Class
System that processes delayed component activations each frame. More...
Declaration
Public Member Typedefs Index
| using | EngineRoleTag = helios::engine::common::tags::SystemRole |
Public Member Functions Index
| void | update (helios::engine::runtime::world::UpdateContext &updateContext) noexcept |
|
Processes all deferred components and activates expired ones. More... | |
Private Member Attributes Index
| std::vector< helios::engine::ecs::types::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 43 of file DelayedComponentEnablerSystem.ixx.
Public Member Typedefs
EngineRoleTag
|
Definition at line 53 of file DelayedComponentEnablerSystem.ixx.
Public Member Functions
update()
| inline noexcept |
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 64 of file DelayedComponentEnablerSystem.ixx.
Private Member Attributes
sync_
|
Temporary buffer for components that completed their delay.
Definition at line 48 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.