|
Aeon Engine c550894
AeonGames Open Source Game Engine
|
Abstract base class for node components. More...
#include <aeongames/Component.hpp>


Public Member Functions | |
| virtual DLL | ~Component ()=0 |
| Pure virtual destructor. | |
| DLL void | SetProperty (const StringId &aId, const Property &aProperty) |
| Set a property by its StringId identifier. | |
| DLL void | SetProperty (const std::string &aId, const Property &aProperty) |
| Set a property by its string name. | |
| virtual const StringId & | GetId () const =0 |
| Get the unique identifier for this component type. | |
| virtual size_t | GetPropertyCount () const =0 |
| Get the number of properties exposed by this component. | |
| virtual const StringId * | GetPropertyInfoArray () const =0 |
| Get the array of property identifiers. | |
| virtual Property | GetProperty (const StringId &aId) const =0 |
| Get the value of a property. | |
| virtual void | SetProperty (uint32_t aId, const Property &aProperty)=0 |
| Set the value aProperty for the property identified by aId. | |
| virtual void | Update (Node &aNode, double aDelta)=0 |
| Update the component state. | |
| virtual void | Render (const Node &aNode, Renderer &aRenderer, void *aWindowId)=0 |
| Render the component. | |
| virtual void | ProcessMessage (Node &aNode, uint32_t aMessageType, const void *aMessageData)=0 |
| Process an incoming message. | |
Abstract base class for node components.
Components encapsulate reusable behavior and data that can be attached to a Node. Concrete implementations provide domain-specific logic such as rendering, physics, or audio.
Definition at line 38 of file Component.hpp.
|
pure virtual |
Get the unique identifier for this component type.
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.
Get the value of a property.
| aId | Identifier of the property to retrieve. |
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.
|
pure virtual |
Get the number of properties exposed by this component.
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.
|
pure virtual |
Get the array of property identifiers.
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.
|
pure virtual |
Process an incoming message.
| aNode | Node this component is attached to. |
| aMessageType | Type identifier of the message. |
| aMessageData | Pointer to message-specific data. |
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.
|
pure virtual |
Render the component.
| aNode | Node this component is attached to. |
| aRenderer | Renderer used for drawing. |
| aWindowId | Platform-specific window identifier. |
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.
| void AeonGames::Component::SetProperty | ( | const std::string & | aId, |
| const Property & | aProperty ) |
Set a property by its string name.
| aId | Name of the property to set. |
| aProperty | Value to assign to the property. |
Definition at line 27 of file Component.cpp.
Set a property by its StringId identifier.
| aId | Identifier of the property to set. |
| aProperty | Value to assign to the property. |
Definition at line 23 of file Component.cpp.
|
pure virtual |
Set the value aProperty for the property identified by aId.
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.
|
pure virtual |
Update the component state.
| aNode | Node this component is attached to. |
| aDelta | Elapsed time since the last update, in seconds. |
Implemented in AeonGames::Camera, AeonGames::ModelComponent, and AeonGames::PointLight.