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