StevEngine
StevEngine is a customizable C++ game engine.
Loading...
Searching...
No Matches
StevEngine::Component Class Referenceabstract

Base class for all game object components. More...

#include <main/Component.hpp>

Inheritance diagram for StevEngine::Component:
StevEngine::Audio::Emitter StevEngine::Physics::CharacterBody StevEngine::Physics::Collider StevEngine::Physics::RigidBody StevEngine::Renderer::RenderComponent StevEngine::Visuals::Camera StevEngine::Visuals::Light StevEngine::Visuals::ModelRenderer

Public Member Functions

 Component ()
 Create new component.
 
virtual ~Component ()
 Clean up component resources.
 
GameObjectGetParent () const
 Get parent GameObject.
 
SceneGetScene () const
 Get containing Scene.
 
virtual std::string GetType () const =0
 Get component type.
 
virtual Utilities::Stream Export (Utilities::StreamType stream) const
 Serialize component to a stream.
 
virtual void Start ()
 Initialize component after creation.
 
virtual void Deactivate ()
 Clean up when component is deactivated.
 
virtual void Update (double deltaTime)
 Update component logic.
 
virtual void Draw (const Utilities::Matrix4 &transform)
 Draw component visuals.
 

Protected Attributes

std::vector< std::pair< Utilities::ID, std::string > > handlers
 Event handler registrations.
 

Friends

class StevEngine::GameObject
 

Detailed Description

Base class for all game object components.

Components provide behavior and functionality to GameObjects. They can respond to events, be serialized, and manage resources.

Member Function Documentation

◆ Deactivate()

virtual void StevEngine::Component::Deactivate ( )
inlinevirtual

Clean up when component is deactivated.

Reimplemented in StevEngine::Physics::CharacterBody, and StevEngine::Physics::RigidBody.

◆ Draw()

virtual void StevEngine::Component::Draw ( const Utilities::Matrix4 & transform)
inlinevirtual

Draw component visuals.

Parameters
transformWorld transform matrix

Reimplemented in StevEngine::Visuals::ModelRenderer.

◆ Export()

◆ GetParent()

GameObject & StevEngine::Component::GetParent ( ) const

Get parent GameObject.

Returns
Reference to parent GameObject

◆ GetScene()

Scene & StevEngine::Component::GetScene ( ) const

Get containing Scene.

Returns
Reference to containing Scene

◆ GetType()

◆ Start()

virtual void StevEngine::Component::Start ( )
inlinevirtual

Initialize component after creation.

Reimplemented in StevEngine::Physics::CharacterBody, and StevEngine::Physics::RigidBody.

◆ Update()

virtual void StevEngine::Component::Update ( double deltaTime)
inlinevirtual

Update component logic.

Parameters
deltaTimeTime since last update

Reimplemented in StevEngine::Physics::CharacterBody, and StevEngine::Physics::RigidBody.


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