17#include "aeongames/StringId.hpp"
18#include "aeongames/Component.hpp"
Abstract base class for node components.
DLL void SetProperty(const StringId &aId, const Property &aProperty)
Set a property by its StringId identifier.
virtual DLL ~Component()=0
Pure virtual destructor.
CRC-based compile-time string identifier.
constexpr uint32_t GetId() const
Get the CRC32 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.
uint32_t crc32i(const char *message, size_t size, uint32_t previous_crc)
Compute the CRC32 of a given message, continuing from a previous CRC value.
FactoryImplementation(Component)
Factory implementation for Component.