Skip to main content

SpawnSystemFactory.ixx File

Factory for fluent, ID-centric configuration of the spawn system. 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...

namespacespawnSystem

Classes Index

classSpawnSystemFactory

Factory for ID-centric spawn system configuration. More...

Description

Factory for fluent, ID-centric configuration of the spawn system.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file SpawnSystemFactory.ixx
3 * @brief Factory for fluent, ID-centric configuration of the spawn system.
4 */
5module;
6
7export module helios.engine.builder.spawnSystem.SpawnSystemFactory;
8
9import helios.engine.builder.spawnSystem.builders.configs.SpawnPoolConfig;
10
11import helios.engine.runtime.spawn.SpawnManager;
12import helios.engine.runtime.pooling.GameObjectPoolManager;
13
15
16 /**
17 * @brief Factory for ID-centric spawn system configuration.
18 *
19 * @details Entry point for fluent spawn system setup. Returns a
20 * SpawnSystemConfigurator whose pool() calls can be chained via
21 * commit() / commitCyclic() return values:
22 *
23 * ## Usage
24 *
25 * ```cpp
26 * SpawnSystemFactory::configure(poolManager, spawnManager)
27 * .pool(ProjectilePoolId, ProjectilePrefabId, 50)
28 * .profile(ProjectileProfileId)
29 * .emitterPlacement()
30 * .done()
31 * .commit()
32 * .pool(EnemyPoolId, EnemyPrefabId, 200)
33 * .profile(EnemyProfileId)
34 * .randomPlacement()
35 * .scheduledBy(EnemyRuleId)
36 * .timerCondition(5.0f)
37 * .fixedAmount(1)
38 * .done()
39 * .done()
40 * .commit();
41 * ```
42 *
43 * @see SpawnPoolConfig
44 * @see SpawnProfileConfig
45 * @see SpawnRuleConfig
46 * @see SpawnSystemConfigurator
47 */
49
50 public:
51
52 /**
53 * @brief Creates a configurator for fluent spawn system setup.
54 *
55 * @param poolManager The pool manager for pool registration.
56 * @param spawnManager The spawn manager for profile and scheduler registration.
57 *
58 * @return A SpawnSystemConfigurator for chained pool() calls.
59 */
63 ) {
65 poolManager, spawnManager
66 };
67 }
68 };
69
70}
71
72
73
74
75
76

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.