16#ifndef AEONGAMES_POINTLIGHT_H
17#define AEONGAMES_POINTLIGHT_H
18#include "aeongames/Component.hpp"
38 void Update (
Node& aNode,
double aDelta )
final;
40 void ProcessMessage (
Node& aNode, uint32_t aMessageType,
const void* aMessageData )
final;
Abstract base class for node components.
Scene graph node representing an entity in the game world.
void ProcessMessage(Node &aNode, uint32_t aMessageType, const void *aMessageData) final
Process an incoming message.
PointLight()
Default constructor.
size_t GetPropertyCount() const final
Get the number of properties exposed by this component.
const StringId * GetPropertyInfoArray() const final
Get the array of property identifiers.
static const StringId & GetClassId()
Returns the class identifier for the PointLight component.
const StringId & GetId() const final
Get the unique identifier for this component type.
void Update(Node &aNode, double aDelta) final
Update the component state.
void Render(const Node &aNode, Renderer &aRenderer, void *aWindowId) final
Render the component.
void SetProperty(uint32_t, const Property &aProperty) final
Set the value aProperty for the property identified by aId.
Property GetProperty(const StringId &aId) const final
Get the value of a property.
Abstract base class for rendering backends.
CRC-based compile-time string identifier.
<- This is here just for the literals
std::variant< int, long, long long, unsigned, unsigned long, unsigned long long, float, double, std::string, std::filesystem::path > Property
A variant type that can hold any commonly used property value.