public: \
using BaseClass = LObject; \
using ThisClass = Class; \
virtual std::string ClassName() const override { return #Class; } \
static std::string_view StaticClassName() { return #Class; } \
static const ::LkEngine::LClass* StaticClass() \
{ \
} \
virtual const ::LkEngine::LClass* ObjectRegistration() override \
{ \
if (!LObject_bRegistered) \
{ \
if (ObjectClass) \
{ \
LObject_bRegistered = true; \
} \
return ObjectClass; \
} \
} \
inline static bool LObject_bRegistered = false; \
inline static ::LkEngine::EClassType LObject_Type = ::LkEngine::EClassType::LClass;
static LClass * Register(std::string_view ClassName)
Register metadata for a LClass.
Definition Class.h:67
Definition TypeTrait.h:29
Base classes that inherit from LObject are required to be declared as an LCLASS. Adds the static class type to the metadata registry and implements abstract functions and other base functionality from LObject.