Skip to main content

modules Folder

Folders Index

folderai
foldereffects
folderphysics
folderrendering
folderscene
folderspatial

Spatial data management for game entities. More...

folderui

Files Index

filehelios/engine/modules/_module.ixx

Aggregate module for helios::engine::modules namespace. More...

filemodules/registry.ixx

Component registration for all engine modules. More...

Description

helios::engine::modules

Domain-specific components and systems built on top of the ECS architecture.

Overview

This module provides concrete game logic implementations using the composition-based component model. Components are stored in SparseSets and manipulated through the ECS View system.

For gameplay mechanics (bounds, combat, spawn, input, health, scoring), see helios.engine.mechanics.

Submodules

ModulePurpose
ai/AI behavior components (chase, seek)
effects/Visual effects (spin, fade)
physics/Physics simulation (collision, motion)
spatial/Transform management (translation, rotation, scale)
scene/Scene graph integration
rendering/Renderable and model components
ui/UI layout, transform, widgets, data binding

Architecture

 helios.engine.modules
 ├── ai/ # AI behavior
 │ └── chase/ # Chase/seek behavior
 ├── effects/ # Visual effects
 │ └── gfx/ # Graphics effects (spin)
 ├── physics/
 │ ├── collision/ # AABB, collision detection, collision state
 │ └── motion/ # Movement (Move2D), steering, direction
 ├── spatial/
 │ └── transform/ # Translation, rotation, scale components
 ├── scene/ # SceneNode integration
 ├── rendering/
 │ ├── model/ # Model AABB component
 │ └── renderable/ # Renderable component
 └── ui/
  ├── binding/ # Data binding
  ├── layout/ # Anchors, layout
  ├── transform/ # UI positioning
  └── widgets/ # Text, buttons

Key Components

ComponentPurpose
CollisionComponentLayer-based collision filtering
CollisionStateComponentPer-frame collision state
Move2DComponent2D physics-based movement
SteeringComponentRotation and heading control
TranslationStateComponentPosition state
ScaleStateComponentScale state
RotationStateComponentRotation state
SceneNodeComponentLinks entity to scene graph
RenderableComponentVisual representation
UiTransformComponentViewport-relative positioning

Usage Example

 import helios.engine.modules.physics.motion.components.Move2DComponent;
 import helios.engine.modules.physics.collision.components.CollisionComponent;
 import helios.engine.modules.scene.components.SceneNodeComponent;
 
 // Add domain components
 entity.add<Move2DComponent>(speed);
 entity.add<CollisionComponent>(layerId);
 entity.add<SceneNodeComponent>(sceneNode);
 
 // Query with views
 for (auto [go, move, collision, active] : gameWorld->view<
  Move2DComponent,
  CollisionComponent,
  Active
 >().whereEnabled()) {
  // Process entities
 }


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.