Skip to main content

GameObjectPrototype Class

Internal builder class for fluent GameObject configuration. More...

Declaration

class helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype { ... }

Public Member Typedefs Index

usingMotionBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::MotionBuilder &)>

Callback type for motion configuration. More...

usingRenderingBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::RenderingBuilder &)>

Callback type for rendering configuration. More...

usingSceneBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::SceneBuilder &)>

Callback type for scene configuration. More...

usingTransformBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::TransformBuilder &)>

Callback type for transform configuration. More...

usingUiTransformBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::UiTransformBuilder &)>

Callback type for UI transform configuration. More...

usingCollisionBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::CollisionBuilder &)>

Callback type for collision configuration. More...

usingEffectsBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::EffectsBuilder &)>

Callback type for effects configuration. More...

usingSpawnBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::SpawnBuilder &)>

Callback type for spawn configuration. More...

usingAiBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::AiBuilder &)>

Callback type for AI configuration. More...

usingCombatBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::CombatBuilder &)>

Callback type for combat configuration. More...

usingLifecycleBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::LifecycleBuilder &)>

Callback type for lifecycle configuration. More...

usingHealthBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::HealthBuilder &)>

Callback type for health configuration. More...

usingScoringBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::ScoringBuilder &)>

Callback type for scoring configuration. More...

usingObserverBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::ObserverBuilder &)>

Callback type for observer configuration. More...

usingMenuBuilderCallback = std::function< void(helios::engine::builder::gameObject::builders::MenuBuilder &)>

Callback type for menu configuration. More...

Public Constructors Index

GameObjectPrototype (helios::engine::runtime::world::GameWorld &gameWorld)

Constructs a prototype with a new empty GameObject. More...

Public Member Functions Index

GameObjectPrototype &prototype ()

Returns a reference to this prototype. More...

helios::engine::ecs::GameObjectmake (const bool active=false)

Finalizes the prototype and returns the configured GameObject. More...

GameObjectPrototype &withMotion (const MotionBuilderCallback &mcb)

Configures motion-related components. More...

GameObjectPrototype &withRendering (const RenderingBuilderCallback &rbc)

Configures rendering-related components. More...

GameObjectPrototype &withCollision (const CollisionBuilderCallback &cbc)

Configures collision-related components. More...

GameObjectPrototype &withTransform (const TransformBuilderCallback &tbc)

Configures spatial transform components. More...

GameObjectPrototype &withUiTransform (const UiTransformBuilderCallback &utbc)

Configures UI transform components for viewport-relative positioning. More...

GameObjectPrototype &withEffects (const EffectsBuilderCallback &ebc)

Configures visual effects components. More...

GameObjectPrototype &withSpawn (const SpawnBuilderCallback &sbc)

Configures spawn-related components. More...

GameObjectPrototype &withAi (const AiBuilderCallback &aibc)

Configures AI behavior components. More...

GameObjectPrototype &withCombat (const CombatBuilderCallback &sbc)

Configures weapon and shooting components. More...

GameObjectPrototype &withLifecycle (const LifecycleBuilderCallback &sbc)

Configures lifecycle components. More...

GameObjectPrototype &withHealth (const HealthBuilderCallback &hbc)

Configures health-related components. More...

GameObjectPrototype &withScoring (const ScoringBuilderCallback &hbc)

Configures scoring-related components. More...

GameObjectPrototype &withObserver (const ObserverBuilderCallback &obc)

Configures observer components for data binding. More...

GameObjectPrototype &withMenu (const MenuBuilderCallback &obc)

Configures menu components. More...

GameObjectPrototype &asPlayerEntity () noexcept

Marks this GameObject as the player entity in the session. More...

GameObjectPrototype &withPrefabId (const helios::engine::common::types::PrefabId prefabId)

Private Member Attributes Index

helios::engine::ecs::GameObjectgameObject_

The GameObject being configured. More...

helios::engine::runtime::world::GameWorld &gameWorld_
std::unique_ptr< helios::engine::builder::gameObject::builders::MotionBuilder >motionBuilder_

Builder for motion-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::RenderingBuilder >renderingBuilder_

Builder for rendering-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::SceneBuilder >sceneBuilder_

Builder for scene-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::CollisionBuilder >collisionBuilder_

Builder for collision-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::TransformBuilder >transformBuilder_

Builder for spatial transform components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::UiTransformBuilder >uiTransformBuilder_

Builder for UI transform components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::EffectsBuilder >effectsBuilder_

Builder for visual effects components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::SpawnBuilder >spawnBuilder_

Builder for spawn-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::AiBuilder >aiBuilder_

Builder for AI behavior components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::CombatBuilder >CombatBuilder_

Builder for combat-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::LifecycleBuilder >lifecycleBuilder_

Builder for lifecycle components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::HealthBuilder >healthBuilder_

Builder for health-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::ScoringBuilder >scoringBuilder_

Builder for scoring-related components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::ObserverBuilder >observerBuilder_

Builder for observer components. More...

std::unique_ptr< helios::engine::builder::gameObject::builders::MenuBuilder >menuBuilder_

Builder for menu components. More...

Description

Internal builder class for fluent GameObject configuration.

Holds domain-specific builders and provides callback-based methods for configuring different aspects of a GameObject.

Definition at line 63 of file GameObjectFactory.ixx.

Public Member Typedefs

AiBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::AiBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::AiBuilder&)>

Callback type for AI configuration.

Definition at line 173 of file GameObjectFactory.ixx.

173 using AiBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::AiBuilder&)>;

CollisionBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::CollisionBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::CollisionBuilder&)>

Callback type for collision configuration.

Definition at line 164 of file GameObjectFactory.ixx.

164 using CollisionBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::CollisionBuilder&)>;

CombatBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::CombatBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::CombatBuilder&)>

Callback type for combat configuration.

Definition at line 176 of file GameObjectFactory.ixx.

176 using CombatBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::CombatBuilder&)>;

EffectsBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::EffectsBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::EffectsBuilder&)>

Callback type for effects configuration.

Definition at line 167 of file GameObjectFactory.ixx.

167 using EffectsBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::EffectsBuilder&)>;

HealthBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::HealthBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::HealthBuilder&)>

Callback type for health configuration.

Definition at line 182 of file GameObjectFactory.ixx.

182 using HealthBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::HealthBuilder&)>;

LifecycleBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::LifecycleBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::LifecycleBuilder&)>

Callback type for lifecycle configuration.

Definition at line 179 of file GameObjectFactory.ixx.

179 using LifecycleBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::LifecycleBuilder&)>;

MenuBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::MenuBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::MenuBuilder&)>

Callback type for menu configuration.

Definition at line 191 of file GameObjectFactory.ixx.

191 using MenuBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::MenuBuilder&)>;

MotionBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::MotionBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::MotionBuilder&)>

Callback type for motion configuration.

Definition at line 149 of file GameObjectFactory.ixx.

149 using MotionBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::MotionBuilder&)>;

ObserverBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::ObserverBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::ObserverBuilder&)>

Callback type for observer configuration.

Definition at line 188 of file GameObjectFactory.ixx.

188 using ObserverBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::ObserverBuilder&)>;

RenderingBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::RenderingBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::RenderingBuilder&)>

Callback type for rendering configuration.

Definition at line 152 of file GameObjectFactory.ixx.

152 using RenderingBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::RenderingBuilder&)>;

SceneBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::SceneBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::SceneBuilder&)>

Callback type for scene configuration.

Definition at line 155 of file GameObjectFactory.ixx.

155 using SceneBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::SceneBuilder&)>;

ScoringBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::ScoringBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::ScoringBuilder&)>

Callback type for scoring configuration.

Definition at line 185 of file GameObjectFactory.ixx.

185 using ScoringBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::ScoringBuilder&)>;

SpawnBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::SpawnBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::SpawnBuilder&)>

Callback type for spawn configuration.

Definition at line 170 of file GameObjectFactory.ixx.

170 using SpawnBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::SpawnBuilder&)>;

TransformBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::TransformBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::TransformBuilder&)>

Callback type for transform configuration.

Definition at line 158 of file GameObjectFactory.ixx.

158 using TransformBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::TransformBuilder&)>;

UiTransformBuilderCallback

using helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::UiTransformBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::UiTransformBuilder&)>

Callback type for UI transform configuration.

Definition at line 161 of file GameObjectFactory.ixx.

161 using UiTransformBuilderCallback = std::function<void(helios::engine::builder::gameObject::builders::UiTransformBuilder&)>;

Public Constructors

GameObjectPrototype()

helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::GameObjectPrototype (helios::engine::runtime::world::GameWorld & gameWorld)
inline

Constructs a prototype with a new empty GameObject.

Definition at line 196 of file GameObjectFactory.ixx.

196 GameObjectPrototype(helios::engine::runtime::world::GameWorld& gameWorld) :
197 gameObject_(gameWorld.addGameObject()),
198 gameWorld_(gameWorld),
199 motionBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::MotionBuilder>(gameObject_)),
200 renderingBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::RenderingBuilder>(gameObject_)),
201 sceneBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::SceneBuilder>(gameObject_)),
202 collisionBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::CollisionBuilder>(gameObject_)),
203 transformBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::TransformBuilder>(gameObject_)),
204 uiTransformBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::UiTransformBuilder>(gameObject_)),
205 effectsBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::EffectsBuilder>(gameObject_)),
206 spawnBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::SpawnBuilder>(gameObject_)),
207 aiBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::AiBuilder>(gameObject_)),
208 CombatBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::CombatBuilder>(gameObject_)),
209 lifecycleBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::LifecycleBuilder>(gameObject_)),
210 healthBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::HealthBuilder>(gameObject_)),
211 scoringBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::ScoringBuilder>(gameObject_)),
212 observerBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::ObserverBuilder>(gameObject_)),
213 menuBuilder_(std::make_unique<helios::engine::builder::gameObject::builders::MenuBuilder>(gameObject_))
214
215 {}

Public Member Functions

asPlayerEntity()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::asPlayerEntity ()
inline noexcept

Marks this GameObject as the player entity in the session.

Registers the GameObject with the session so it can be retrieved via `Session::playerEntity()`. Only one entity should be marked as player per session.

Returns

Reference to this prototype for chaining.

Definition at line 417 of file GameObjectFactory.ixx.

417 GameObjectPrototype& asPlayerEntity() noexcept {
419 gameWorld_.session().setPlayerEntityHandle(gameObject_.entityHandle());
420 return *this;
421 }

make()

helios::engine::ecs::GameObject helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::make (const bool active=false)
inline

Finalizes the prototype and returns the configured GameObject.

Parameters
active

Whether the GameObject should be active upon creation.

Returns

Ownership of the configured GameObject.

Definition at line 233 of file GameObjectFactory.ixx.

233 helios::engine::ecs::GameObject make(const bool active = false) {
234 gameObject_.setActive(active);
235 return gameObject_;
236 }

prototype()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::prototype ()
inline

Returns a reference to this prototype.

Returns

Reference to this prototype.

Definition at line 222 of file GameObjectFactory.ixx.

222 GameObjectPrototype& prototype() {
223 return *this;
224 }

withAi()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withAi (const AiBuilderCallback & aibc)
inline

Configures AI behavior components.

Parameters
aibc

Callback receiving an AiBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 331 of file GameObjectFactory.ixx.

331 GameObjectPrototype& withAi(const AiBuilderCallback& aibc) {
332 aibc(*aiBuilder_);
333 return *this;
334 }

withCollision()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withCollision (const CollisionBuilderCallback & cbc)
inline

Configures collision-related components.

Parameters
cbc

Callback receiving a CollisionBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 271 of file GameObjectFactory.ixx.

271 GameObjectPrototype& withCollision(const CollisionBuilderCallback& cbc) {
272 cbc(*collisionBuilder_);
273 return *this;
274 }

withCombat()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withCombat (const CombatBuilderCallback & sbc)
inline

Configures weapon and shooting components.

Parameters
sbc

Callback receiving a CombatBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 343 of file GameObjectFactory.ixx.

343 GameObjectPrototype& withCombat(const CombatBuilderCallback& sbc) {
344 sbc(*CombatBuilder_);
345 return *this;
346 }

withEffects()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withEffects (const EffectsBuilderCallback & ebc)
inline

Configures visual effects components.

Parameters
ebc

Callback receiving an EffectsBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 307 of file GameObjectFactory.ixx.

307 GameObjectPrototype& withEffects(const EffectsBuilderCallback& ebc) {
308 ebc(*effectsBuilder_);
309 return *this;
310 }

withHealth()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withHealth (const HealthBuilderCallback & hbc)
inline

Configures health-related components.

Parameters
hbc

Callback receiving a HealthBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 367 of file GameObjectFactory.ixx.

367 GameObjectPrototype& withHealth(const HealthBuilderCallback& hbc) {
368 hbc(*healthBuilder_);
369 return *this;
370 }

withLifecycle()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withLifecycle (const LifecycleBuilderCallback & sbc)
inline

Configures lifecycle components.

Parameters
sbc

Callback receiving a LifecycleBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 355 of file GameObjectFactory.ixx.

355 GameObjectPrototype& withLifecycle(const LifecycleBuilderCallback& sbc) {
356 sbc(*lifecycleBuilder_);
357 return *this;
358 }

withMenu()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withMenu (const MenuBuilderCallback & obc)
inline

Configures menu components.

Parameters
obc

Callback receiving a MenuBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 403 of file GameObjectFactory.ixx.

403 GameObjectPrototype& withMenu(const MenuBuilderCallback& obc) {
404 obc(*menuBuilder_);
405 return *this;
406 }

withMotion()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withMotion (const MotionBuilderCallback & mcb)
inline

Configures motion-related components.

Parameters
mcb

Callback receiving a MotionBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 247 of file GameObjectFactory.ixx.

247 GameObjectPrototype& withMotion(const MotionBuilderCallback& mcb) {
248 mcb(*motionBuilder_);
249 return *this;
250 }

withObserver()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withObserver (const ObserverBuilderCallback & obc)
inline

Configures observer components for data binding.

Parameters
obc

Callback receiving an ObserverBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 391 of file GameObjectFactory.ixx.

391 GameObjectPrototype& withObserver(const ObserverBuilderCallback& obc) {
392 obc(*observerBuilder_);
393 return *this;
394 }

withPrefabId()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withPrefabId (const helios::engine::common::types::PrefabId prefabId)
inline

Definition at line 423 of file GameObjectFactory.ixx.

423 GameObjectPrototype& withPrefabId(const helios::engine::common::types::PrefabId prefabId) {
425 return *this;
426 }

withRendering()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withRendering (const RenderingBuilderCallback & rbc)
inline

Configures rendering-related components.

Parameters
rbc

Callback receiving a RenderingBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 259 of file GameObjectFactory.ixx.

259 GameObjectPrototype& withRendering(const RenderingBuilderCallback& rbc) {
260 rbc(*renderingBuilder_);
261 return *this;
262 }

withScoring()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withScoring (const ScoringBuilderCallback & hbc)
inline

Configures scoring-related components.

Parameters
hbc

Callback receiving a ScoringBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 379 of file GameObjectFactory.ixx.

379 GameObjectPrototype& withScoring(const ScoringBuilderCallback& hbc) {
380 hbc(*scoringBuilder_);
381 return *this;
382 }

withSpawn()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withSpawn (const SpawnBuilderCallback & sbc)
inline

Configures spawn-related components.

Parameters
sbc

Callback receiving a SpawnBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 319 of file GameObjectFactory.ixx.

319 GameObjectPrototype& withSpawn(const SpawnBuilderCallback& sbc) {
320 sbc(*spawnBuilder_);
321 return *this;
322 }

withTransform()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withTransform (const TransformBuilderCallback & tbc)
inline

Configures spatial transform components.

Parameters
tbc

Callback receiving a TransformBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 283 of file GameObjectFactory.ixx.

283 GameObjectPrototype& withTransform(const TransformBuilderCallback& tbc) {
284 tbc(*transformBuilder_);
285 return *this;
286 }

withUiTransform()

GameObjectPrototype & helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::withUiTransform (const UiTransformBuilderCallback & utbc)
inline

Configures UI transform components for viewport-relative positioning.

Parameters
utbc

Callback receiving a UiTransformBuilder reference.

Returns

Reference to this prototype for chaining.

Definition at line 295 of file GameObjectFactory.ixx.

295 GameObjectPrototype& withUiTransform(const UiTransformBuilderCallback& utbc) {
296 utbc(*uiTransformBuilder_);
297 return *this;
298 }

Private Member Attributes

aiBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::AiBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::aiBuilder_

Builder for AI behavior components.

Definition at line 115 of file GameObjectFactory.ixx.

115 std::unique_ptr<helios::engine::builder::gameObject::builders::AiBuilder> aiBuilder_;

collisionBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::CollisionBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::collisionBuilder_

Builder for collision-related components.

Definition at line 90 of file GameObjectFactory.ixx.

90 std::unique_ptr<helios::engine::builder::gameObject::builders::CollisionBuilder> collisionBuilder_;

CombatBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::CombatBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::CombatBuilder_

Builder for combat-related components.

Definition at line 120 of file GameObjectFactory.ixx.

120 std::unique_ptr<helios::engine::builder::gameObject::builders::CombatBuilder> CombatBuilder_;

effectsBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::EffectsBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::effectsBuilder_

Builder for visual effects components.

Definition at line 105 of file GameObjectFactory.ixx.

105 std::unique_ptr<helios::engine::builder::gameObject::builders::EffectsBuilder> effectsBuilder_;

gameObject_

helios::engine::ecs::GameObject helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::gameObject_

The GameObject being configured.

Definition at line 68 of file GameObjectFactory.ixx.

gameWorld_

helios::engine::runtime::world::GameWorld& helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::gameWorld_

Definition at line 70 of file GameObjectFactory.ixx.

healthBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::HealthBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::healthBuilder_

Builder for health-related components.

Definition at line 130 of file GameObjectFactory.ixx.

130 std::unique_ptr<helios::engine::builder::gameObject::builders::HealthBuilder> healthBuilder_;

lifecycleBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::LifecycleBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::lifecycleBuilder_

Builder for lifecycle components.

Definition at line 125 of file GameObjectFactory.ixx.

125 std::unique_ptr<helios::engine::builder::gameObject::builders::LifecycleBuilder> lifecycleBuilder_;

menuBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::MenuBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::menuBuilder_

Builder for menu components.

Definition at line 145 of file GameObjectFactory.ixx.

145 std::unique_ptr<helios::engine::builder::gameObject::builders::MenuBuilder> menuBuilder_;

motionBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::MotionBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::motionBuilder_

Builder for motion-related components.

Definition at line 75 of file GameObjectFactory.ixx.

75 std::unique_ptr<helios::engine::builder::gameObject::builders::MotionBuilder> motionBuilder_;

observerBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::ObserverBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::observerBuilder_

Builder for observer components.

Definition at line 140 of file GameObjectFactory.ixx.

140 std::unique_ptr<helios::engine::builder::gameObject::builders::ObserverBuilder> observerBuilder_;

renderingBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::RenderingBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::renderingBuilder_

Builder for rendering-related components.

Definition at line 80 of file GameObjectFactory.ixx.

80 std::unique_ptr<helios::engine::builder::gameObject::builders::RenderingBuilder> renderingBuilder_;

sceneBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::SceneBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::sceneBuilder_

Builder for scene-related components.

Definition at line 85 of file GameObjectFactory.ixx.

85 std::unique_ptr<helios::engine::builder::gameObject::builders::SceneBuilder> sceneBuilder_;

scoringBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::ScoringBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::scoringBuilder_

Builder for scoring-related components.

Definition at line 135 of file GameObjectFactory.ixx.

135 std::unique_ptr<helios::engine::builder::gameObject::builders::ScoringBuilder> scoringBuilder_;

spawnBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::SpawnBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::spawnBuilder_

Builder for spawn-related components.

Definition at line 110 of file GameObjectFactory.ixx.

110 std::unique_ptr<helios::engine::builder::gameObject::builders::SpawnBuilder> spawnBuilder_;

transformBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::TransformBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::transformBuilder_

Builder for spatial transform components.

Definition at line 95 of file GameObjectFactory.ixx.

95 std::unique_ptr<helios::engine::builder::gameObject::builders::TransformBuilder> transformBuilder_;

uiTransformBuilder_

std::unique_ptr<helios::engine::builder::gameObject::builders::UiTransformBuilder> helios::engine::builder::gameObject::GameObjectFactory::GameObjectPrototype::uiTransformBuilder_

Builder for UI transform components.

Definition at line 100 of file GameObjectFactory.ixx.

100 std::unique_ptr<helios::engine::builder::gameObject::builders::UiTransformBuilder> uiTransformBuilder_;

The documentation for this class was generated from the following file:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.