13enum EInternal {EC_InternalUseOnlyConstructor};
21#define DEFINE_DEFAULT_CONSTRUCTOR_CALL(TClass) \
22 static void __DefaultConstructor(const FObjectInitializer& X) { new((EInternal*)X.GetObj())TClass; }
24#define DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(TClass) \
25 static void __DefaultConstructor(const FObjectInitializer& X) { new((EInternal*)X.GetObj())TClass(X); }
45#define DECLARE_KARMA_CLASS(TClass, TSuperClass) \
47 inline virtual void ShivaUObject() override\
51 DEFINE_DEFAULT_CONSTRUCTOR_CALL(TClass) \
53 typedef TSuperClass Super;\
55 static UClass* StaticClass() \
57 UClass* returnClass_##TClass = nullptr; \
58 if(strcmp(#TClass, #TSuperClass) != 0) \
60 GetPrivateStaticClassBody( \
63 returnClass_##TClass, \
66 (ClassConstructorType)InternalConstructor<TClass>, \
67 &TClass::Super::StaticClass \
72 GetPrivateStaticClassBody( \
75 returnClass_##TClass, \
78 (ClassConstructorType)InternalConstructor<TClass>, \
79 &TClass::Super::NullClass \
82 return returnClass_##TClass; \
84 inline static UClass* NullClass() \
Internal class to finalize UObject creation (initialize properties) after the real C++ constructor is...
Definition UObjectGlobals.h:937