Calamity Engine 1.0.0
A cross-platform 2D game engine written in C++ and SDL3.
Loading...
Searching...
No Matches
Component Struct Reference

#include <components.hpp>

Inheritance diagram for Component:
AnimatedSprite AudioSource Camera Label PhysicsBody Script ShapeSprite Sprite Tilemap

Public Member Functions

virtual ~Component ()=default
 
virtual void update (float deltaTime)
 
virtual void render (std::shared_ptr< Window > window)
 
virtual void initialize ()
 
virtual void physicsUpdate ()
 
virtual void input (InputEvent &event)
 
virtual void postLoad ()
 
virtual void exit ()
 
NodegetNode () const
 
void setNode (Node *n)
 
template<class Archive >
void save (Archive &ar) const
 
template<class Archive >
void load (Archive &ar)
 

Detailed Description

Component class

Base class for any component that can be attached to a Node. It exposes several virtual functiosn that are called across any components' lifetime, such as update(float deltaTime), initialize(), input(InputEvent &event), physicsUpdate(), render(std::shared_ptr<Window> window) and exit().

For serialization of any class that is based on Component, you need to implement the save() and load() methods, which are used by cereal for serialization and deserialization.

Constructor & Destructor Documentation

◆ ~Component()

virtual Component::~Component ( )
virtualdefault

Member Function Documentation

◆ exit()

virtual void Component::exit ( )
inlinevirtual

Reimplemented in Script, AudioSource, and PhysicsBody.

◆ getNode()

Node * Component::getNode ( ) const

◆ initialize()

virtual void Component::initialize ( )
inlinevirtual

Reimplemented in Tilemap, Script, Sprite, AnimatedSprite, Camera, and PhysicsBody.

◆ input()

virtual void Component::input ( InputEvent event)
inlinevirtual

◆ load()

template<class Archive >
void Component::load ( Archive &  ar)
inline

◆ physicsUpdate()

virtual void Component::physicsUpdate ( )
inlinevirtual

◆ postLoad()

virtual void Component::postLoad ( )
inlinevirtual

Reimplemented in AnimatedSprite, and Sprite.

◆ render()

virtual void Component::render ( std::shared_ptr< Window window)
inlinevirtual

Reimplemented in Script, Label, ShapeSprite, Sprite, AnimatedSprite, and Tilemap.

◆ save()

template<class Archive >
void Component::save ( Archive &  ar) const
inline

◆ setNode()

void Component::setNode ( Node n)

◆ update()

virtual void Component::update ( float  deltaTime)
inlinevirtual

Reimplemented in Script, AudioSource, AnimatedSprite, Camera, and Label.


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