Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
Components

Built-in Component implementations. More...

Files

file  AnimationComponent.h
 Skeletal / transform animation system driven by GLTF keyframe data.
 
file  AudioComponent.h
 GameObject component that plays audio clips by name.
 
file  AudioListenerComponent.h
 Component whose owner becomes the 3D audio listener.
 
file  CameraComponent.h
 Perspective camera that drives the scene's view and projection matrices.
 
file  HealthComponent.h
 Universal HP sink: damageable + killable game objects.
 
file  LightComponent.h
 Tags a GameObject as a point light source in the scene.
 
file  MeshComponent.h
 Bridges the scene graph with the render pipeline by submitting a RenderCommand each frame.
 
file  ParticleEmitterComponent.h
 Spawns particles each frame at the owner's world position.
 
file  PhysicsComponent.h
 Attaches a RigidBody to a GameObject and syncs its transform.
 
file  PlayerControllerComponent.h
 First-person Quake/Half-Life-style movement controller.
 
file  SkinnedMeshComponent.h
 Renderable component for GPU-skinned meshes driven by a Skeleton.
 

Classes

class  mnd::AudioComponent
 Plays one or more named audio clips, attached to a GameObject. More...
 
class  mnd::AudioListenerComponent
 Marks its GameObject as the 3D audio listener. More...
 
class  mnd::PhysicsComponent
 Component bridge between a GameObject and the physics world. More...
 

Detailed Description

Built-in Component implementations.

First-party Components shipped with the engine.

Each component encapsulates a single, self-contained behaviour that can be attached to any GameObject via GameObject::AddComponent<T>().

Component Responsibility
CameraComponent Perspective view + projection matrices
LightComponent Point-light colour for the Phong shader
MeshComponent Submits geometry + material to the RenderQueue
AnimationComponent glTF skeletal / transform-track animation
PlayerControllerComponent First-person WASD + mouse-look

These cover the bread-and-butter behaviours every prototype needs:

Subclass mnd::Component and use the COMPONENT(MyType) macro to register your own.