FObjectInitializer::CreateDefaultSubobject
Функция объявлена как шаблон.
Первым аргументом передаётся объект, на который опирается система при формировании мира. Объекту можно задать условия при котором он будет содержать в себе свойства скажем “сферы” или “куба”.
Создаёт компонент или подобъект.
template<class TReturnType, class TClassToConstructByDefault> TReturnType * CreateDefaultSubobject ( UObject * Outer, FName SubobjectName, bool bTransient )
Параметры:
Возвращаемый тип – Класс возвращает тип, все переопределения класса должны возвращать тип класса
TClassToConstructByDefault – Класс является конструктором по умолчанию
Outer – внешний конструктор это подобъект
SubobjectName – новое имя компонента
bTransient – TRUE если компонент переходит в свойство.
Пример кода
AMyStaticMeshActor::AMyStaticMeshActor(const FObjectInitializer& ObjectInitializer) { //Make our mesh component (named 'MyMesh') and set it up to be our root component MyMesh = ObjectInitializer.CreateDefaultSubobject<UStaticMeshComponent>(this,TEXT("MyMesh")); RootComponent = MyMesh; }
Рекомендации(References)
Module – CoreUObject
Header – Runtime/CoreUObject/Public/UObject/UObjectGlobals.h