CollisionConfig.ixx File
Configuration for collision detection components. More...
Included Headers
#include <cassert>
#include <memory>
#include <helios.engine.mechanics.damage.components.DamageDealerComponent>
#include <helios.engine.modules.physics.collision.types>
#include <helios.engine.modules.physics.collision.components>
#include <helios.engine.ecs.GameObject>
Namespaces Index
| namespace | helios |
| namespace | engine |
|
Main engine module aggregating core infrastructure and game systems. More... | |
| namespace | builder |
|
Fluent builder pattern for constructing GameObjects. More... | |
| namespace | gameObject |
|
Factory and prototype classes for GameObject construction. More... | |
| namespace | builders |
|
Domain-specific builders for configuring different aspects of GameObjects. More... | |
| namespace | configs |
|
Fine-grained configuration classes for component setup. More... | |
Classes Index
| class | CollisionConfig |
|
Fluent configuration for collision detection setup. More... | |
Description
Configuration for collision detection components.
File Listing
The file content with the documentation metadata removed is:
19export namespace helios::engine::builder::gameObject::builders::configs {
27 class CollisionConfig {
32 helios::engine::ecs::GameObject gameObject_;
41 auto* cc = gameObject_.get<helios::engine::modules::physics::collision::components::CollisionComponent>();
58 explicit CollisionConfig(helios::engine::ecs::GameObject gameObject) : gameObject_(gameObject) {
60 gameObject.add<helios::engine::modules::physics::collision::components::CollisionStateComponent>();
70 gameObject_.add<helios::engine::modules::physics::collision::components::AabbColliderComponent>();
81 CollisionConfig& layerId(const uint32_t layerId) {
85 gameObject_.add<helios::engine::modules::physics::collision::components::CollisionComponent>(layerId);
103 CollisionConfig& hitPolicy(const helios::engine::modules::physics::collision::types::HitPolicy hitPolicy) {
107 gameObject_.get<helios::engine::modules::physics::collision::components::CollisionComponent>()
108 ->setHitPolicy(hitPolicy);
120 CollisionConfig& reportCollisions(bool isCollisionReporter) {
124 gameObject_.get<helios::engine::modules::physics::collision::components::CollisionComponent>()
136 CollisionConfig& solidCollisionMask(const uint32_t solidCollisionMask) {
139 gameObject_.get<helios::engine::modules::physics::collision::components::CollisionComponent>()
140 ->setSolidCollisionMask(solidCollisionMask);
154 const helios::engine::modules::physics::collision::types::CollisionBehavior collisionBehavior
158 gameObject_.get<helios::engine::modules::physics::collision::components::CollisionComponent>()
181 gameObject_.getOrAdd<helios::engine::mechanics::damage::components::DamageDealerComponent>()
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.