20#include "PointLight.h"
21#include "aeongames/AeonEngine.hpp"
23#include "aeongames/Buffer.hpp"
24#include "aeongames/Renderer.hpp"
25#include "aeongames/Node.hpp"
29 static const StringId PointLightStringId{
"Point Light"};
32 return PointLightStringId;
39 PointLight::~PointLight() =
default;
43 return PointLightStringId;
46 static constexpr std::array<const StringId, 0> PointLightPropertyIds{};
50 return PointLightPropertyIds.size();
55 return PointLightPropertyIds.data();
Header for 4x4 matrix class.
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.