FObjectInitializer::CreateDefaultSubobject API UE4

By | November 18, 2015

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

Category: Uncategorized