Skip to main content

LifecycleBuilder.ixx File

Builder for configuring lifecycle-related components on GameObjects. More...

Included Headers

Namespaces Index

namespacehelios
namespaceengine

Main engine module aggregating core infrastructure and game systems. More...

namespacebuilder

Fluent builder pattern for constructing GameObjects. More...

namespacegameObject

Factory and prototype classes for GameObject construction. More...

namespacebuilders

Domain-specific builders for configuring different aspects of GameObjects. More...

Classes Index

classLifecycleBuilder

Builder for lifecycle management and component activation timing. More...

Description

Builder for configuring lifecycle-related components on GameObjects.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file LifecycleBuilder.ixx
3 * @brief Builder for configuring lifecycle-related components on GameObjects.
4 */
5module;
6
7export module helios.engine.builder.gameObject.builders.LifecycleBuilder;
8
9import helios.engine.ecs.GameObject;
10import helios.engine.builder.gameObject.builders.configs.LifecycleConfig;
11
13
14 /**
15 * @brief Builder for lifecycle management and component activation timing.
16 *
17 * @details LifecycleBuilder provides configuration options for controlling
18 * when and how components become active on a GameObject. This is essential
19 * for gameplay patterns requiring delayed or staged component activation:
20 *
21 * - **Spawn immunity:** Defer collision detection until entity is positioned
22 * - **Staggered activation:** Enable behaviors progressively across wave spawns
23 * - **Visual polish:** Delay rendering until spawn effects complete
24 *
25 * ## Usage
26 *
27 * ```cpp
28 * prototype.withLifecycle([](LifecycleBuilder& builder) {
29 * builder.lifecycle()
30 * .useDelayedComponentEnabler();
31 * });
32 * ```
33 *
34 * @see LifecycleConfig
35 * @see DelayedComponentEnabler
36 * @see DelayedComponentEnablerInitializer
37 */
39
40 /**
41 * @brief Non-owning pointer to the target GameObject.
42 */
44
45 public:
46
47 /**
48 * @brief Constructs a LifecycleBuilder for the given GameObject.
49 *
50 * @param gameObject Non-owning pointer to the target entity.
51 */
53
54 /**
55 * @brief Returns a configuration object for lifecycle settings.
56 *
57 * @details The returned LifecycleConfig allows configuring delayed
58 * component activation and other lifecycle behaviors.
59 *
60 * @return LifecycleConfig instance targeting the same GameObject.
61 */
64 }
65
66
67 };
68
69}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.