lifecycle Folder
Folders Index
| folder | commands |
| folder | components |
| folder | systems |
| folder | types |
Files Index
| file | helios/engine/mechanics/lifecycle/_module.ixx |
|
Aggregates lifecycle management modules. More... | |
| file | mechanics/lifecycle/registry.ixx |
|
Component registration for lifecycle module. More... | |
| file | WorldLifecycleManager.ixx |
|
Manager for deferred world-level lifecycle operations. More... | |
Description
helios::engine::mechanics::lifecycle
Lifecycle management for entity components and world-level lifecycle operations.
Overview
This module provides mechanisms for controlling when components become active during an entity's lifecycle, as well as world-level lifecycle operations such as resetting the game world. The primary use cases are delayed component activation after spawn (collision immunity, staggered wave spawns, effect sequencing) and deferred world reset via the command pipeline.
Key Classes
| Class | Purpose |
|---|---|
| Active | Tag component marking an entity as active |
| Inactive | Tag component marking an entity as inactive |
| DeadTagComponent | Marker component attached on health depletion |
| DelayedComponentEnabler | Component that tracks pending activations with timers |
| DelayedComponentEnablerSystem | System that decrements timers and enables components |
| GameObjectLifecycleSystem | System that reacts to health depletion and despawns entities |
| WorldLifecycleManager | Manager that processes deferred world lifecycle commands |
| WorldLifecycleCommand | Command carrying a WorldLifecycleAction |
| WorldLifecycleAction | Enum defining available lifecycle operations (e.g. Reset) |
Architecture
Usage
Common Patterns
Collision Immunity
Staggered Wave Spawns
World Lifecycle
The WorldLifecycleManager enables deferred world-level operations through the command pipeline. Systems and state listeners submit WorldLifecycleCommand instances instead of calling GameWorld methods directly.
The manager is auto-registered by bootstrap::makeGameWorld() and processes pending commands during its flush cycle. A Reset action calls GameWorld::reset(), which reinitializes all managers and the session.
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.