ФЭНДОМ


Общие сведения Править

Класс UObject официально является конечным предком для всех других классов UE4. На самом деле UObject сам является потомком класса UObjectBaseUtility, а последний — класса UObjectBase; именно последний является конечным предком иерархии классов.

Классы, порождённые от UObject, тэгируются макросом UCLASS, который предназначен для обеспечения генерации дополнительного кода специальным инструментарием UE4, что обеспечивает доступ к полям и функциям классов из редактора UE4 и из блупринтов.

UObject вместе со своими предками отвечает за реализацию следующих функций:

  • сборку мусора;
  • учёт ссылок;
  • отражение (reflection);
  • сериализацию;
  • автоматическое обновление значений свойств по умолчанию;
  • автоматическую инициализацию свойств;
  • автоматическую интеграцию с редактором;
  • RTTI (штатная RTTI, обеспечиваемая компилятором C++, отключена, поскольку может заметно сказываться на производительности);
  • репликацию по сети.

Каждому классу типа UObject (или его потомку) соответствует парный класс типа UClass. Последний содержит метаданные, описывающие UObject, и поддерживает эталонный экземпляр объекта, называемый объектом класса по умолчанию (CDO, Class Default Object). CDO служит шаблоном для создания объектов данного класса; после своего создания в процессе инициализации движка он не модифицируется.

Создавать экземпляры объектов классов-наследников UObject можно несколькими способами. Судя по всему, основным из них является использование шаблонной функции NewObject. Имеются и другие подобные функции, а также переопределённый оператор new, однако их использование объявлено устаревшим.

Типы Править

FAssetRegistryTag Править

public struct FAssetRegistryTag
{
    enum ETagType
    {
        TT_Hidden,
        TT_Alphabetical,
        TT_Numerical,
        TT_Dimensional
    };
    FName     Name;
    ETagType  Type;
    FString   Value;
    FAssetRegistryTag(
            FName           InName,
            const FString  &InValue,
            ETagType        InType)
        : Name(InName), Type(InType), Value(InValue)
    {}
    COREUOBJECT_API static void  GetAssetRegistryTagsFromSearchableProperties(
            const UObject              *Object,
            TArray<FAssetRegistryTag>  &OutTags);
}

FAssetRegistryTagMetadata Править

public struct FAssetRegistryTagMetadata
{
    FText    DisplayName;
    FText    TooltipText;
    FText    Suffix;
    FString  ImportantValue;
    FAssetRegistryTagMetadata&  SetDisplayName(const FText  &InDisplayName)
    {
        DisplayName = InDisplayName;
        return *this;
    }
    FAssetRegistryTagMetadata&  SetTooltip(const FText  &InTooltipText)
    {
        TooltipText = InTooltipText;
        return *this;
    }
    FAssetRegistryTagMetadata&  SetSuffix(const FText  &InSuffix)
    {
        Suffix = InSuffix;
        return *this;
    }
    FAssetRegistryTagMetadata&  SetImportantValue(const FString  &InImportantValue)
    {
        ImportantValue = InImportantValue;
        return *this;
    }
};

Используется только в редакторе.

Object_eventExecuteUbergraph_Parms Править

struct Object_eventExecuteUbergraph_Parms
{
    int32 EntryPoint;
};

Super Править

public typedef UObject  Super

Super является принятым в UE4 именем для класса-предка текущего класса. В случае с UObject предком будет считаться он сам, поскольку в обычном коде классы-предки UObject явным образом не используются.

TClass Править

public typedef UObject  TClass

TClass является принятым в UE4 именем-синонимом для текущего класса.

WithinClass Править

public typedef UObject  WithinClass

Синоним для UObject.

Константы Править

StaticClassFlags Править

public enum {StaticClassFlags = CLASS_Abstract | CLASS_NoExport}

Флаги, характеризующие данный класс.

Конструкторы Править

UObject()
UObject(
    const FObjectInitializer &ObjectInitializer)
UObject(
    EStaticConstructor,
    EObjectFlags        InFlags);
UObject(
    FVTableHelper &Helper);

Различные варианты конструктора. Обычно используется вторая форма. Четвёртый вариант предназначен только для внутреннего использования для «горячей» перезагрузки.

!TODO!

Общие методы Править

__DefaultConstructor Править

public static void  __DefaultConstructor(
                        const FObjectInitializer &X)

Этот метод выделяет память под объект с помощью одного из пользовательских вариантов оператора new (с параметрами InSize и InMem; в качестве последнего передаётся результат вызова метода X.GetObj(), приведённый к типу EInternal*), после чего вызывает конструктор, передавая ему в качестве параметра структуру типа FObjectInitializer.

!TODO!

__VTableCtorCaller Править

public static UObject *__VTableCtorCaller(
                       FVTableHelper &Helper)

!TODO!

AddReferencedObjects Править

public static void  AddReferencedObjects(
                        UObject             *InThis,
                        FReferenceCollector &Collector)

Метод обратного вызова, используемый, чтобы разрешить объекту регистрировать его прямые ссылки на объекты, которые ещё не покрыты потоком токенов.

Параметры:

  • InThis — объект, для которого собираются ссылки;
  • Collector — объект, используемый для сбора ссылок.

!TODO!

AreNativePropertiesIdenticalTo Править

public virtual bool  AreNativePropertiesIdenticalTo(
                         UObject *Other
                     ) const

Возвращает true, если нативные свойства идентичны таковым, передаваемым компонентам.

Для класса UObject возвращает true.

BeginDestroy Править

public virtual void  BeginDestroy()

Этот метод вызывается перед уничтожением объекта, позволяя объекту начать выполнение необходимых действий асинхронным образом.

CallAddReferencedObjects Править

public void  CallAddReferencedObjects(
                 FReferenceCollector &Collector)

Вспомогательный метод для вызова AddReferencedObjects для данного класса.

CallFunction Править

public void  CallFunction(
        FFrame       &Stack,
        RESULT_DECL,
        UFunction    *Function)

CallFunctionByNameWithArguments Править

public bool  CallFunctionByNameWithArguments(
        const TCHAR    *Cmd,
        FOutputDevice  &Ar,
        UObject        *Executor,
        bool            bForceCallWithNonExec = false)

CallRemoteFunction Править

public virtual bool  CallRemoteFunction(
        UFunction           *Function,
        void                *Parms,
        struct FOutParmRec  *OutParms,
        FFrame              *Stack)

CanCheckDefaultSubObjects Править

protected bool  CanCheckDefaultSubObjects(
        bool   bForceCheck,
        bool  &bResult)

CanCreateInCurrentContext Править

public static bool  CanCreateInCurrentContext(
        UObject *Template)

Этот метод вызывается для определения, можно ли создать объект из предоставленного шаблона в текущем контексте (редактор, клиент, выделенный сервер, «слушатель» игры). Для выполнения своих функций он вызывает методы NeedsLoadForClient и NeedsLoadForServer.

CheckDefaultSubobjects Править

public bool  CheckDefaultSubobjects(
        bool  bForceCheck = false)

CheckDefaultSubobjectsInternal Править

protected virtual bool  CheckDefaultSubobjectsInternal()

CollectDefaultSubobjects Править

public void  CollectDefaultSubobjects(
        TArray<UObject *>  &OutDefaultSubobjects,
        bool                bIncludeNestedSubobjects = false)

ConditionalBeginDestroy Править

public bool  ConditionalBeginDestroy()

Вызывается непосредственно после того, как принято решение уничтожить данный объект. Может инициировать различные асинхронные операции по его уничтожению.

!TODO!

ConditionalFinishDestroy Править

public bool  ConditionalFinishDestroy()

!TODO!

ConditionalPostLoad Править

public void  ConditionalPostLoad()

PostLoad, если необходимо.

ConditionalPostLoadSubobjects Править

public void  ConditionalPostLoadSubobjects(
                 FObjectInstancingGraph *OuterInstanceGraph = NULL)

Создаёт подобъекты и компоненты для объектов, загружаемых с диска, если это необходимо, а также убеждается в корректности ссылок между компонентами.

Параметры:

  • OuterInstanceGraph — задаёт граф создания подобъектов и компонентов, начиная с корня подобъектов.

CreateAbstractDefaultSubobject Править

public template<class TReturnType>
TReturnType *CreateAbstractDefaultSubobject(
                 FName SubobjectName,
                 bool  bTransient    = false)

Параметры:

  • TReturnType — класс возвращаемого типа;
  • SubobjectName — имя создаваемого подобъекта;
  • bTransient — true, если подобъект присваивается несохраняемому свойству.

!TODO!

CreateDefaultSubobject Править

public UObject *CreateDefaultSubobject(
                    FName   SubobjectFName,
                    UClass *ReturnType,
                    UClass *ClassToCreateByDefault,
                    bool    bIsRequired,
                    bool    bAbstract,
                    bool    bIsTransient)
public template<class TReturnType>
TReturnType *CreateDefaultSubobject(
                 FName SubobjectName,
                 bool  bTransient    = false)
public template<class TReturnType, class TClassToConstructByDefault>
TReturnType *CreateDefaultSubobject(
                 FName SubobjectName,
                 bool  bTransient    = false)

Параметры:

  • TReturnType — класс возвращаемого типа;
  • TClassToConstructByDefault — класс, используемый по умолчанию для создания объекта;
  • SubobjectName — имя создаваемого подобъекта;
  • bTransient — true, если подобъект присваивается несохраняемому свойству.

Создаёт компонент или подобъект. Шаблонные функции вызывают первый вариант, подготавливая для него необходимые параметры.

!TODO!

CreateEditorOnlyDefaultSubobject Править

public template<class TReturnType>
TReturnType*  CreateEditorOnlyDefaultSubobject(
         FName SubobjectName,
         bool  bTransient     = false)

Параметры:

  • TReturnType — тип создаваемого подобъекта;
  • SubobjectName — имя создаваемого подобъекта;
  • bTransient — true, если подобъект присваивается несохраняемому свойству.

Этот метод создаёт подобъект или компонент, который будет использоваться только в редакторе.

CreateEditorOnlyDefaultSubobjectImpl Править

private UObject*  CreateEditorOnlyDefaultSubobjectImpl(
        FName    SubobjectName,
        UClass  *ReturnType,
        bool     bTransient = false)

Параметры:

  • SubobjectName — имя создаваемого подобъекта;
  • TReturnType — тип создаваемого подобъекта;
  • bTransient — true, если подобъект присваивается несохраняемому свойству.

Создаёт компонент или подобъект, используемый только в редакторе.

CreateOptionalDefaultSubobject Править

public template<class TReturnType>
TReturnType *CreateOptionalDefaultSubobject(
                 FName SubobjectName,
                 bool  bTransient    = false)

Параметры:

  • TReturnType — класс возвращаемого типа;
  • SubobjectName — имя создаваемого подобъекта;
  • bTransient — true, если подобъект присваивается несохраняемому свойству.

Этот метод создаёт необязательный компонент или подобъект. Последний не создаётся, когда порождённый класс указывает DoNotCreateDefaultSubobject для заданного имени подобъекта.

!TODO!

DestroyNonNativeProperties Править

public void  DestroyNonNativeProperties()

Уничтожает свойства, которые не могут быть уничтожены нативным деструктором.

EnsureNotRetrievingVTablePtr Править

private void  EnsureNotRetrievingVTablePtr() const

Включается только при определённом символе WITH_HOT_RELOAD_CTORS.

ExecuteUbergraph Править

public void  ExecuteUbergraph(
        int32  EntryPoint)

ExportCustomProperties Править

public virtual void  ExportCustomProperties(
        FOutputDevice &Out,
        uint32         Indent)

Экспортирует значения свойств объекта в виде текста, что необходимо для операций copy/paste.

Параметры:

  • Out — устройство, которому отправляется текстовый вывод;
  • Indent — число пробелов, предшествующих каждой строке вывода.

Большинство объектов не нуждается в реализации этого метода, поскольку скрипты Unreal способны обработать большинство ситуаций самостоятельно.

Для класса UObject этот метод никаких действий не выполняет.

FindFunction Править

public UFunction*  FindFunction(
        FName  InName
    ) const

FindFunctionChecked Править

public UFunction*  FindFunctionChecked(
        FName  InName
    ) const

FinishDestroy Править

public virtual void  FinishDestroy()

Этот метод осуществляет окончательное уничтожение объекта, после чего занимаемая объектом память становится недоступна. Методы, перекрывающие этот метод в классах-потомках, должны в конце своего выполнения вызывать этот метод, реализованный классом-предком.

GetArchetype Править

public UObject*  GetArchetype() const

Возвращает объект-архетип, на котором базируется текущий объект. Реально вызывает функцию GetArchetypeFromRequiredInfo, передавая ей необходимые характеристики текущего объекта.

GetArchetypeFromRequiredInfo Править

public static UObject*  GetArchetypeFromRequiredInfo(
        UClass        *Class,
        UObject       *Outer,
        FName          Name,
        EObjectFlags   ObjectFlags)

Возвращает адрес объекта, который должен бы быть архетипом для объекта с заданными параметрами (классом, хозяином, именем и набором флагов).

Если текущий объект является CDO (в ObjectFlags установлен флаг RF_ClassDefaultObject), возвращается его архетип, т.е. CDO для класса, являющегося предком класса текущего объекта. Если у класса текущего объекта предков нет, возвращается нуль.

Если при вызове объект-хозяин (параметр Outer) не указан, а также если он указан, но является пакетом (пакеты не могут иметь подобъектов), возвращается CDO текущего объекта. Если CDO в этот момент отсутствует, он будет создан.

Если же объект-хозяин не является пакетом, то:

  • если в составе архетипа объекта-хозяина найден подходящий подъобъект (с заданными классом и именем — параметры Class и Name соответственно; нуль означает игнорирование соответствующего значения), то возвращается этот подъобъект;
  • если подходящего подобъекта нет, но архетип может находиться в суперклассе (в ObjectFlags установлен флаг RF_InheritableComponentTemplate), то производится просмотр всей цепочки скомпилированных из блупринта суперклассов (у суперкласса должен быть установлен флаг CLASS_CompiledFromBlueprint), начиная от прямого суперкласса объекта-хозяина, до тех пор, пока у какого-либо из этих блупринтовых суперклассов не будет обнаружен подобъект подходящего типа. Если таковой найден, будет возвращён именно он, в противном случае возвращается CDO текущего объекта (который при необходимости создаётся);
  • если же подходящего подобъекта у хозяина нет и архетип не может находиться в суперклассе, производится поиск подходящего архетипа в классе архетипа объекта-хозяина. Если он не найден, возвращается CDO текущего объекта (который при необходимости создаётся).

GetArchetypeInstances Править

public void  GetArchetypeInstances(
        TArray<UObject *>  &Instances)

Строит список объектов, являющихся архетипами текущего объекта.

GetAssetRegistryTags Править

public virtual void  GetAssetRegistryTags(
        TArray<FAssetRegistryTag> &OutTags
    ) const

GetDefaultConfigFilename Править

public FString  GetDefaultConfigFilename() const

GetDefaultSubobjectByName Править

public UObject *GetDefaultSubobjectByName(
                    FName  ToFind)

Этот метод возвращает подобъект с заданным именем.

GetDefaultSubobjects Править

public void  GetDefaultSubobjects(
                 TArray<UObject*> &OutDefaultSubobjects)

Этот метод возвращает список всех подобъектов по умолчанию, связанных с данным объектом.

GetDesc Править

public virtual FString  GetDesc()

Возвращает однострочное описание объекта.

Для класса UObject возвращается пустая строка.

GetDetailedInfo Править

public FString  GetDetailedInfo() const

Возвращает детальную информацию об объекте.

GetDetailedInfoInternal Править

protected virtual FString  GetDetailedInfoInternal() const

Этот метод возвращает детальную информацию об объекте. Он не должен вызываться прямо; вместо него вызывается метод GetDetailedInfo.

Применительно к типу UObject возвращается строка "No_Detailed_Info_Specified".

GetExporterName Править

public virtual FName  GetExporterName()

Возвращает имя экспортёра, используемого для экспорта этого объекта. Используется, когда одно и то же расширение имеют несколько экспортёров.

Для класса UObject возвращается пустая строка.

GetFunctionCallspace Править

public virtual int32  GetFunctionCallspace(
        UFunction  *Function,
        void       *Parameters,
        FFrame     *Stack)

GetGlobalUserConfigFilename Править

public FString  GetGlobalUserConfigFilename() const

GetLifetimeReplicatedProps Править

public virtual void  GetLifetimeReplicatedProps(
                       TArray<class FLifetimeProperty> &OutLifetimeProps
                     ) const

Возвращает свойства, которые реплицируются во время жизни канала актёра.

GetNativePropertyValues Править

public virtual bool  GetNativePropertyValues(
                         TMap<FString,FString> &out_PropertyValues,
                         uint32                 ExportFlags=0
                     ) const

Функция обратного вызова для получения текстового представления нативно сериализированных свойств. Дочерние классы должны реализовывать этот метод, если они желают иметь нативно сериализованные значения свойств, включаемые в, например, вывод diffcommandlet.

Параметры:

  • out_PropertyValues — хранилище для пар «имя свойства — значение свойства». Значения должны быть отформатированы так, как это делает метод UProperty::ExportText.
  • ExportFlags — битовая маска флагов EPropertyPortFlags, используемая для модификации формата значений свойств.

Возвращается true, если в хранилище было помещено хотя бы одно свойство.

Для класса UObject всегда возвращает false.

GetPrivateStaticClass Править

private static UClass *GetPrivateStaticClass(
                           const TCHAR *Package)

!TODO!

GetResourceSize Править

public virtual SIZE_T  GetResourceSize(
                           EResourceSizeMode::Type  Mode)

Возвращает размер ресурсов объекта для отображения в редакторе.

Для класса UObject возвращается константа RESOURCE_SIZE_NONE, показывающая, что размер не определён.

GetRestoreForUObjectOverwrite Править

public virtual FRestoreForUObjectOverwrite*  GetRestoreForUObjectOverwrite()

Сохраняет информацию для StaticAllocateObject в случае перезаписи существующего объекта. StaticAllocateObject вызовет уничтожение результата после вызова Restore.

Этот метод возвращает FRestoreForUObjectOverwrite, позволяющий восстановить объект, или NULL, если в этом нет необходимости.

Для класса UObject возвращается нуль.

GetSubobjectsWithStableNamesForNetworking Править

public virtual void  GetSubobjectsWithStableNamesForNetworking(
                         TArray<UObject*> &ObjList)

Возвращает список подобъектов, имеющих стабильные имена для работы по сети.

Для класса UObject ничего не делает.

GetWorld Править

public virtual UWorld *GetWorld() const

!TODO!

GetWorldChecked Править

public UWorld *GetWorldChecked(
                   bool &bSupported
               ) const

!TODO!

Implements Править

public template<class T>
    bool Implements() const

Возвращает true, если данный объект реализует интерфейс T.

ImplementsGetWorld Править

public bool  ImplementsGetWorld() const

ImportCustomProperties Править

public virtual void  ImportCustomProperties(
                         const TCHAR      *SourceText,
                         FFeedbackContext *Warn)

Импортирует свойства объекта.

Параметры:

  • SourceText — входные данные, не могут быть нулём;
  • Warn — параметр для информирования об ошибках, не может быть нулём.

Большинство объектов не нуждается в реализации этого метода, поскольку скрипты Unreal способны обработать большинство ситуаций самостоятельно.

Для класса UObject этот метод никаких действий не выполняет.

InstanceSubobjectTemplates Править

public void  InstanceSubobjectTemplates(
        struct FObjectInstancingGraph  *InstanceGraph = NULL)

IsAsset Править

public virtual bool  IsAsset() const

Возвращает true, если данный объект считается ассетом.

IsBasedOnArchetype Править

public bool  IsBasedOnArchetype(
        const UObject* const  SomeObject
    ) const

Возвращает true, если текущий объект имеет заданный объект в качестве своего архетипа (не обязательно прямого — при анализе прослеживается вся цепочка архетипов, получаемая последовательными вызовами метода GetArchetype).

IsFullNameStableForNetworking Править

public virtual bool IsFullNameStableForNetworking() const

Возвращает true, если к данному объекту можно обращаться по сети, используя его абсолютный путь.

IsInBlueprint Править

public bool  IsInBlueprint() const

Возвращает true, если данный объект содержится в блупринтовом объекте или является частью последнего.

IsLocalizedResource Править

public virtual bool  IsLocalizedResource()

Возвращает true, если данный объект является локализованным ресурсом.

Для класса UObject этот метод возвращает false.

IsNameStableForNetworking Править

public virtual bool  IsNameStableForNetworking() const

Возвращает true, если к объекту можно обращаться через сеть по имени его пути относительно его «хозяина».

IsPostLoadThreadSafe Править

public virtual bool  IsPostLoadThreadSafe() const

Этот метод вызывается во время асинхронной загрузки для определения, может ли метод PostLoad быть вызван в потоке загрузки.

Возвращает true, если вызов PostLoad в потоке загрузки возможен.

Для UObject возвращает false. С чем это связано, непонятно, т.к., по идее, если нельзя в другом потоке вызывать PostLoad для базового класса, то нельзя это делать и для любых его классов-наследников.

IsReadyForFinishDestroy Править

public virtual bool  IsReadyForFinishDestroy()

Этот метод вызывается, чтобы проверить, готов ли объект к выполнению FinishDestroy. Этот вызов производится после вызова метода BeginDestroy, поскольку необходимо убедиться, что все потенциально асинхронные действия были выполнены.

Для класса UObject всегда возвращается true.

IsSafeForRootSet Править

public virtual bool  IsSafeForRootSet() const

Возвращает true, если данный объект безопасно добавлять к корневому набору.

IsSelected Править

public bool  IsSelected() const

Возвращает true, если данный объект выбран.

IsSupportedForNetworking Править

public virtual bool  IsSupportedForNetworking() const

Возвращает true, если к данному объекту можно обращаться по сети.

LoadConfig Править

public virtual void  LoadConfig(
        UClass       *ConfigClass      = NULL,
        const TCHAR  *Filename         = NULL,
        uint32        PropagationFlags = UE4::LCPF_None,
        UProperty    *PropertyToLoad   = NULL)

MarkAsEditorOnlySubobject Править

public virtual void  MarkAsEditorOnlySubobject()

Modify Править

public virtual bool  Modify(
        bool  bAlwaysMarkDirty = true)

Параметры:

  • bAlwaysMarkDirty — если равен true, пакет помечается как изменённый даже в случае, если в данный момент не выполняется запись активной транзакции undo/redo.

Отмечает текущий объект как модифицированный. Если в этот момент выполняется запись в транзакционный буфер (undo/redo), при вызове этого метода копия объекта сохраняется в буфере, а пакет помечается как нуждающийся в сохранении. Возвращается true, если объект был сохранён в транзакционном буфере.

!TODO!

NeedsLoadForClient Править

public virtual bool  NeedsLoadForClient() const

Вызывается во время сохранения для определения флагов загрузки, сохраняемых вместе с объектом. Во время перезагрузки этот объект клиентами будет отброшен.

Возвращается true, если данный объект не должен загружаться клиентами. Для класса UObject всегда возвращается true.

NeedsLoadForEditorGame Править

public virtual bool NeedsLoadForEditorGame() const

Вызывается во время сохранения для определения флагов загрузки, сохраняемых вместе с объектом.

Возвращается true, если данный объект должен всегда загружаться для игры в редакторе. Для класса UObject всегда возвращается false.

NeedsLoadForServer Править

public virtual bool  NeedsLoadForServer() const

Вызывается во время сохранения для определения флагов загрузки, сохраняемых вместе с объектом. Во время перезагрузки этот объект сервером будет отброшен.

Возвращается true, если данный объект не должен загружаться сервером. Для класса UObject всегда возвращается true.

OutputReferencers Править

public void  OutputReferencers(
        FOutputDevice               &Ar,
        FReferencerInformationList  *Referencers = NULL)

ParseParms Править

public void  ParseParms(
        const TCHAR  *Parms)

PostDuplicate Править

public virtual void  PostDuplicate(
                         bool  bDuplicateForPIE)

Этот метод вызывается после дублирования и сериализации и перед вызовом метода PostLoad. Он используется, например, чтобы убедиться, что UStaticMesh'и, относящиеся к продублированному UModel, тоже были должным образом скопированы.

Этот метод не вызывается для компонентов, если выполняется дублирование объекта. В данном случае нужно использовать метод PostEditImport.

Для класса UObject никаких действий не выполняется.

PostEditImport Править

public virtual void  PostEditImport()

Вызывается после импорта значений свойств данного объекта (вставка, дублирование или импорт .t3d). Позволяет объекту выполнить любые дополнительные действия со свойствами, которые не должны дублироваться или которые не поддерживаются скриптовой сериализацией.

Для класса UObject никаких действий не выполняется.

PostInitProperties Править

public virtual void  PostInitProperties()

Этот метод вызывается после завершения работы конструктора и после окончания инициализации свойств.

PostInterpChange Править

public virtual void  PostInterpChange(
                         UProperty *PropertyThatChanged)

Этот метод вызывается, когда какое-либо свойство объекта изменяется через InterpPropertyTracks.

PostLoad Править

public virtual void  PostLoad()

Этот метод вызывается сразу после завершения загрузки объекта или сразу после выполнения undo/redo.

PostLoadSubobjects Править

public virtual void  PostLoadSubobjects(
                         FObjectInstancingGraph *OuterInstanceGraph)

Параметры:

  • OuterInstanceGraph — задаёт граф подобъектов и компонентов, созданных для корня подобъектов.

Этот метод создаёт компоненты для объектов, загруженных с диска, и обеспечивает корректность ссылок между вложенными компонентами.

PostNetReceive Править

public virtual void  PostNetReceive()

Вызывается после получения пакета (bunch) через сеть.

PostReloadConfig Править

public virtual void  PostReloadConfig(
                         UProperty *PropertyThatWasLoaded)

Вызывается из ReloadConfig после того, как объект перезагрузит свои конфигурационные данные.

Для класса UObject никаких действий не выполняется.

PostRename Править

public virtual void PostRename(
                        UObject     *OldOuter,
                        const FName  OldName)

Данный метод для класса UObject никаких действий не выполняет.

PostSaveRoot Править

public virtual void PostSaveRoot(
                        bool  bCleanupIsRequired)

Этот метод вызывается из SavePackage после выполнения сохранения, получая на входе значение, ранее возвращённое методом PreSaveRoot. Эта пара методов нужна в случае, когда сохраняемым объектам требуется выполнить какие-то действия перед и после сохранения.

Данный метод для класса UObject никаких действий не выполняет.

PreNetReceive Править

public virtual void  PreNetReceive()

Вызывается перед получением пакета (bunch) через сеть.

PreSave Править

public virtual void PreSave()

Этот метод однократно вызывается перед началом сериализации объекта для его сохранения. Он необходим для сохранения временных вычислений, поскольку вызов метода Serialize производится из SavePackage для каждого объекта трижды.

Для объектов, созданных в этом методе, вызов PreSave не выполняется.

!TODO!

PreSaveRoot Править

public virtual bool  PreSaveRoot(
                         const TCHAR     *Filename,
                         TArray<FString> &AdditionalPackagesToCook)

Этот метод вызывается из SavePackage перед выполнением сохранения. После завершения сохранения вызывается метод PostSaveRoot, получающий в качестве параметра значение, возвращаемое этим методом. Эта пара методов нужна в случае, когда сохраняемым объектам требуется выполнить какие-то действия перед и после сохранения.

Данный метод для класса UObject возвращает false.


ProcessConsoleExec Править

public virtual bool  ProcessConsoleExec(
        const TCHAR    *Cmd,
        FOutputDevice  &Ar,
        UObject        *Executor)

ProcessContextOpcode Править

private void  ProcessContextOpcode(
        FFrame       &Stack,
        RESULT_DECL,
        bool          bCanFailSilent)

ProcessEvent Править

public virtual void  ProcessEvent(
        UFunction  *Function,
        void       *Parms)

ProcessInternal Править

public void ProcessInternal(
        FFrame     &Stack,
        RESULT_DECL)

RegenerateClass Править

public virtual UClass*  RegenerateClass(
        UClass             *ClassToRegenerate,
        UObject            *PreviousCDO,
        TArray<UObject *>  &ObjLoaded)

ReinitializeProperties Править

public void  ReinitializeProperties(
        UObject                *SourceObject  = NULL,
        FObjectInstancingGraph *InstanceGraph = NULL)

Обёртка для InitProperties, которая обрабатывает безопасную «разборку» этого объекта перед повторной инициализацией его из заданного исходного объекта.

ReloadConfig Править

public void  ReloadConfig(
        UClass       *ConfigClass      = NULL,
        const TCHAR  *Filename         = NULL,
        uint32        PropagationFlags = UE4::LCPF_None,
        UProperty    *PropertyToLoad   = NULL)


Rename Править

public virtual bool  Rename(
        const TCHAR  *NewName  = NULL,
        UObject      *NewOuter = NULL,
        ERenameFlags  Flags    = REN_None)

Переименовывает объект, чтобы обеспечить ему уникальное имя.

RetrieveReferencers Править

public void  RetrieveReferencers(
        TArray<FReferencerInformation>  *OutInternalReferencers,
        TArray<FReferencerInformation>  *OutExternalReferencers)

SaveConfig Править

public virtual void  SaveConfig(
        uint64            Flags    = CPF_Config,
        const TCHAR      *Filename = NULL,
        FConfigCacheIni  *Config   = GConfig)

Serialize Править

public virtual void  Serialize(
        FArchive &Ar)

Сериализатор объекта для выполнения его записи.

SerializeScriptProperties Править

public void  SerializeScriptProperties(
         FArchive &Ar
     ) const

Сериализирует скрпитовые свойства. Сохраняются лишь те свойства, чьи значения отличаются от базовых значений, указанных через DiffObject (обычно это архетип данного объекта).

SetLinker Править

public void  SetLinker(
        FLinkerLoad  *LinkerLoad,
        int32         LinkerIndex,
        bool          bShouldDetachExisting = true)

ShutdownAfterError Править

public virtual void  ShutdownAfterError()

Для класса UObject никаких действий этот метод не выполняет.

SkipFunction Править

public void  SkipFunction(
        FFrame       &Stack,
        RESULT_DECL,
        UFunction    *Function)

SourceFileTagName Править

public static const FName &SourceFileTagName()

Возвращает общее имя тэга, используемое для всех путей импорта исходных файлов ассетов.

StaticClass Править

public static UClass*  StaticClass()

Возвращает класс для текущего объекта. Технически этот метод обращается к приватному методу GetPrivateStaticClass, передавая ему имя пакета "/Script/CoreUObject".

StaticClassCastFlags Править

public static EClassCastFlags  StaticClassCastFlags()

Для класса UObject возвращает флаг CASTCLASS_None.

StaticConfigName Править

public static const TCHAR *StaticConfigName()

Возвращает строку "Engine".

StaticRegisterNativesUObject Править

public static void  StaticRegisterNativesUObject()

Не выполняет никаких действий.

TagSubobjects Править

public virtual void  TagSubobjects(
        EObjectFlags  NewFlags)

Помечает объекты, являющиеся частями одного и того же ассета, заданными флагами, что используется сборщиком мусора.


UpdateDefaultConfigFile Править

public void  UpdateDefaultConfigFile(
        const FString  &SpecificFileLocation = "")

UpdateGlobalUserConfigFile Править

public void  UpdateGlobalUserConfigFile()

UpdateSinglePropertyInConfigFile Править

public void  UpdateSinglePropertyInConfigFile(
        const UProperty  *InProperty,
        const FString    &InConfigIniName)

UpdateSingleSectionOfConfigFile Править

private void  UpdateSingleSectionOfConfigFile(
        const FString  &ConfigIniName)

Методы, используемые только в редакторе Править

BeginCacheForCookedPlatformData Править

public virtual void  BeginCacheForCookedPlatformData(
                         const ITargetPlatform *TargetPlatform)

!TODO!

В классе UObject ничего не делает.

CanEditChange Править

public virtual bool  CanEditChange(
                         const UProperty *InProperty
                     ) const

!TODO!

ClearAllCachedCookedPlatformData Править

public virtual void  ClearAllCachedCookedPlatformData()

!TODO!

В классе UObject ничего не делает.

ClearCachedCookedPlatformData Править

public virtual void  ClearCachedCookedPlatformData(
                         const ITargetPlatform *TargetPlatform)

!TODO!

В классе UObject ничего не делает.

GetAssetRegistryTagMetadata Править

public virtual void  GetAssetRegistryTagMetadata(
                         TMap<FName, FAssetRegistryTagMetadata> &OutMetadata
                     ) const

Собирает метаданные для тэга регистрации ассета.

!TODO!

GetTransactionAnnotation Править

public virtual TSharedPtr<ITransactionObjectAnnotation>  GetTransactionAnnotation() const

!TODO!

IsCachedCookedPlatformDataLoadedПравить

public virtual bool  IsCachedCookedPlatformDataLoaded(
                         const ITargetPlatform *TargetPlatform)

!TODO!

В классе UObject возвращает true.

LoadedFromAnotherClass Править

public virtual void  LoadedFromAnotherClass(
                         const FName &OldClassName)

Этот метод вызывается, когда данный объект был загружен из другого класса через активное перенаправление (redirect), что может произойти только в редакторе.

Для класса UObject никаких действий не выполняется.

!TODO!

PostEditChange Править

public void  PostEditChange()

!TODO!

PostEditChangeChainProperty Править

public virtual void  PostEditChangeChainProperty(
                         FPropertyChangedChainEvent &PropertyChangedEvent)

!TODO!

PostEditChangeProperty Править

public virtual void  PostEditChangeProperty(
                         FPropertyChangedEvent &PropertyChangedEvent)

!TODO!

PostEditUndo Править

public virtual void  PostEditUndo()
public virtual void  PostEditUndo(TSharedPtr<ITransactionObjectAnnotation>  TransactionAnnotation)

!TODO!

PostLinkerChange Править

public virtual void  PostLinkerChange()

Этот метод вызывается в ответ на изменение линкера, что может произойти только в редакторе.

Для класса UObject никаких действий не выполняется.

!TODO!

PreEditChange Править

public virtual void  PreEditChange(
                         UProperty *PropertyAboutToChange)
public virtual void  PreEditChange(
                         FEditPropertyChain &PropertyAboutToChange)

!TODO!

PreEditUndo Править

public virtual void  PreEditUndo()

!TODO!

PropagatePostEditChange Править

public void  PropagatePostEditChange(
                 TArray<UObject*>   &AffectedObjects,
                 FEditPropertyChain &PropertyAboutToChange)

!TODO!

PropagatePreEditChange Править

public void  PropagatePreEditChange(
                 TArray<UObject*>   &AffectedObjects,
                 FEditPropertyChain &PropertyAboutToChange)

!TODO!

WillNeverCacheCookedPlatformDataAgain Править

public virtual void  WillNeverCacheCookedPlatformDataAgain()

!TODO!

В классе UObject ничего не делает.

Операторы Править

operator= Править

private UObject &operator=(
                     UObject const &)

!TODO!

operator new Править

public void *operator new(
                 const size_t  InSize,
                 UObject      *InOuter    = (UObject*) GetTransientPackage(),
                 FName         InName     = NAME_None,
                 EObjectFlags  InSetFlags = RF_NoFlags)
public void *operator new(
                 const size_t  InSize,
                 EInternal     InInternalOnly,
                 UObject      *InOuter        = (UObject*) GetTransientPackage(),
                 FName         InName         = NAME_None,
                 EObjectFlags  InSetFlags     = RF_NoFlags)
public void *operator new(
                 const size_t  InSize,
                 EInternal    *InMem)

Создаёт новый экземпляр данного класса.

Первый вариант объявлен устаревшим, начиная с UE версии 4.7. Вместо него необходимо использовать функции NewObject.

Два других варианта предназначены только для внутреннего использования.

Автогенерируемые функции Править

Заголовки этих функций создаются с помощью макроса DECLARE_FUNCTION. Его вызовы в определении класса UObject прописаны явно.

execAddMulticastDelegate Править

void  execAddMulticastDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execArrayConst Править

void  execArrayConst(
        FFrame       &Stack,
        RESULT_DECL)

execAssert Править

void  execAssert(
        FFrame       &Stack,
        RESULT_DECL)

execAssetConst Править

void  execAssetConst(
        FFrame       &Stack,
        RESULT_DECL)

execArrayElement Править

void  execArrayElement(
        FFrame       &Stack,
        RESULT_DECL)

execBindDelegate Править

void  execBindDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execBoolVariable Править

void  execBoolVariable(
        FFrame       &Stack,
        RESULT_DECL)

execBreakpoint Править

void  execBreakpoint(
        FFrame       &Stack,
        RESULT_DECL)

execByteConst Править

void  execByteConst(
        FFrame       &Stack,
        RESULT_DECL)

execCallMathFunction Править

void  execCallMathFunction(
        FFrame       &Stack,
        RESULT_DECL)

execCallMulticastDelegate Править

void  execCallMulticastDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execClassContext Править

void  execClassContext(
        FFrame       &Stack,
        RESULT_DECL)

execClassDefaultVariable Править

void  execClassDefaultVariable(
        FFrame       &Stack,
        RESULT_DECL)

execClearMulticastDelegate Править

void  execClearMulticastDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execComputedJump Править

void  execComputedJump(
        FFrame       &Stack,
        RESULT_DECL)

execContext Править

void  execContext(
        FFrame       &Stack,
        RESULT_DECL)

execContext_FailSilent Править

void  execContext_FailSilent(
        FFrame       &Stack,
        RESULT_DECL)

execDefaultVariable Править

void  execDefaultVariable(
        FFrame       &Stack,
        RESULT_DECL)

execDynamicCast Править

void  execDynamicCast(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayAdd Править

void  execDynArrayAdd(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayAddItem Править

void  execDynArrayAddItem(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayFind Править

void  execDynArrayFind(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayFindStruct Править

void  execDynArrayFindStruct(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayInsert Править

void  execDynArrayInsert(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayInsertItem Править

void  execDynArrayInsertItem(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayRemove Править

void  execDynArrayRemove(
        FFrame       &Stack,
        RESULT_DECL)

execDynArrayRemoveItem Править

void  execDynArrayRemoveItem(
        FFrame       &Stack,
        RESULT_DECL)

execDynArraySort Править

void  execDynArraySort(
        FFrame       &Stack,
        RESULT_DECL)

execEatReturnValue Править

void  execEatReturnValue(
        FFrame       &Stack,
        RESULT_DECL)

execEndFunctionParms Править

void  execEndFunctionParms(
        FFrame       &Stack,
        RESULT_DECL)

execEndOfScript Править

void  execEndOfScript(
        FFrame       &Stack,
        RESULT_DECL)

execEmptyParmValue Править

void  execEmptyParmValue(
        FFrame       &Stack,
        RESULT_DECL)

execEqualEqual_DelegateDelegate Править

void  execEqualEqual_DelegateDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execEqualEqual_DelegateFunction Править

void  execEqualEqual_DelegateFunction(
        FFrame       &Stack,
        RESULT_DECL)

execFalse Править

void  execFalse(
        FFrame       &Stack,
        RESULT_DECL)

execFinalFunction Править

void  execFinalFunction(
        FFrame       &Stack,
        RESULT_DECL)

execFloatConst Править

void  execFloatConst(
        FFrame       &Stack,
        RESULT_DECL)

execGetDynArrayElement Править

void  execGetDynArrayElement(
        FFrame       &Stack,
        RESULT_DECL)

execGetDynArrayLength Править

void  execGetDynArrayLength(
        FFrame       &Stack,
        RESULT_DECL)

execInstanceDelegate Править

void  execInstanceDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execInstanceVariable Править

void  execInstanceVariable(
        FFrame       &Stack,
        RESULT_DECL)

execIntConst Править

void  execIntConst(
        FFrame       &Stack,
        RESULT_DECL)

execIntConstByte Править

void  execIntConstByte(
        FFrame       &Stack,
        RESULT_DECL)

execInterfaceCast Править

void  execInterfaceCast(
        FFrame       &Stack,
        RESULT_DECL)

execInterfaceContext Править

void  execInterfaceContext(
        FFrame       &Stack,
        RESULT_DECL)

execInterfaceToBool Править

void  execInterfaceToBool(
        FFrame       &Stack,
        RESULT_DECL)

execInterfaceToInterface Править

void  execInterfaceToInterface(
        FFrame       &Stack,
        RESULT_DECL)

execInterfaceToObject Править

void  execInterfaceToObject(
        FFrame       &Stack,
        RESULT_DECL)

execInterfaceVariable Править

void  execInterfaceVariable(
        FFrame       &Stack,
        RESULT_DECL)

execIntOne Править

void  execIntOne(
        FFrame       &Stack,
        RESULT_DECL)

execIntZero Править

void  execIntZero(
        FFrame       &Stack,
        RESULT_DECL)

execJump Править

void  execJump(
        FFrame       &Stack,
        RESULT_DECL)

execJumpIfNot Править

void  execJumpIfNot(
        FFrame       &Stack,
        RESULT_DECL)

execLet Править

void  execLet(
        FFrame       &Stack,
        RESULT_DECL)

execLetBool Править

void  execLetBool(
        FFrame       &Stack,
        RESULT_DECL)

execLetDelegate Править

void  execLetDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execLetMulticastDelegate Править

void  execLetMulticastDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execLetObj Править

void  execLetObj(
        FFrame       &Stack,
        RESULT_DECL)

execLetValueOnPersistentFrame Править

void  execLetValueOnPersistentFrame(
        FFrame       &Stack,
        RESULT_DECL)

execLetWeakObjPtr Править

void  execLetWeakObjPtr(
        FFrame       &Stack,
        RESULT_DECL)

execLocalVariable Править

void  execLocalVariable(
        FFrame       &Stack,
        RESULT_DECL)

execLocalOutVariable Править

void  execLocalOutVariable(
        FFrame       &Stack,
        RESULT_DECL)

execMetaCast Править

void  execMetaCast(
        FFrame       &Stack,
        RESULT_DECL)

execNameConst Править

void  execNameConst(
        FFrame       &Stack,
        RESULT_DECL)

execNativeParm Править

void  execNativeParm(
        FFrame       &Stack,
        RESULT_DECL)

execNew Править

void  execNew(
        FFrame       &Stack,
        RESULT_DECL)

execNoObject Править

void  execNoObject(
        FFrame       &Stack,
        RESULT_DECL)

execNotEqual_DelegateDelegate Править

void  execNotEqual_DelegateDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execNotEqual_DelegateFunction Править

void  execNotEqual_DelegateFunction(
        FFrame       &Stack,
        RESULT_DECL)

execNothing Править

void  execNothing(
        FFrame       &Stack,
        RESULT_DECL)

execNothingOp4a Править

void  execNothingOp4a(
        FFrame       &Stack,
        RESULT_DECL)

execNullInterface Править

void  execNullInterface(
        FFrame       &Stack,
        RESULT_DECL)

execObjectConst Править

void  execObjectConst(
        FFrame       &Stack,
        RESULT_DECL)

execObjectToBool Править

void  execObjectToBool(
        FFrame       &Stack,
        RESULT_DECL)

execObjectToInterface Править

void  execObjectToInterface(
        FFrame       &Stack,
        RESULT_DECL)

execPopExecutionFlow Править

void  execPopExecutionFlow(
        FFrame       &Stack,
        RESULT_DECL)

execPopExecutionFlowIfNot Править

void  execPopExecutionFlowIfNot(
        FFrame       &Stack,
        RESULT_DECL)

execPrimitiveCast Править

void  execPrimitiveCast(
        FFrame       &Stack,
        RESULT_DECL)

execPushExecutionFlow Править

void  execPushExecutionFlow(
        FFrame       &Stack,
        RESULT_DECL)

execRemoveMulticastDelegate Править

void  execRemoveMulticastDelegate(
        FFrame       &Stack,
        RESULT_DECL)

execReturnNothing Править

void  execReturnNothing(
        FFrame       &Stack,
        RESULT_DECL)

execRotationConst Править

void  execRotationConst(
        FFrame       &Stack,
        RESULT_DECL)

execSelf Править

void  execSelf(
        FFrame       &Stack,
        RESULT_DECL)

execSetArray Править

void  execSetArray(
        FFrame       &Stack,
        RESULT_DECL)

execSetDynArrayElement Править

void  execSetDynArrayElement(
        FFrame       &Stack,
        RESULT_DECL)

execSetDynArrayLength Править

void  execSetDynArrayLength(
        FFrame       &Stack,
        RESULT_DECL)

execSkipOffsetConst Править

void  execSkipOffsetConst(
        FFrame       &Stack,
        RESULT_DECL)

execStringConst Править

void  execStringConst(
        FFrame       &Stack,
        RESULT_DECL)

execStructCmpEq Править

void  execStructCmpEq(
        FFrame       &Stack,
        RESULT_DECL)

execStructCmpNe Править

void  execStructCmpNe(
        FFrame       &Stack,
        RESULT_DECL)

execStructConst Править

void  execStructConst(
        FFrame       &Stack,
        RESULT_DECL)

execStructMember Править

void  execStructMember(
        FFrame       &Stack,
        RESULT_DECL)

execStructMemberContext Править

void  execStructMemberContext(
        FFrame       &Stack,
        RESULT_DECL)

execSwitchValue Править

void  execSwitchValue(
        FFrame       &Stack,
        RESULT_DECL)

execTextConst Править

void  execTextConst(
        FFrame       &Stack,
        RESULT_DECL)

execTracepoint Править

void  execTracepoint(
        FFrame       &Stack,
        RESULT_DECL)

execTransformConst Править

void  execTransformConst(
        FFrame       &Stack,
        RESULT_DECL)

execTrue Править

void  execTrue(
        FFrame       &Stack,
        RESULT_DECL)

execUndefined Править

void  execUndefined(
        FFrame       &Stack,
        RESULT_DECL)

execUnicodeStringConst Править

void  execUnicodeStringConst(
        FFrame       &Stack,
        RESULT_DECL)

execVectorConst Править

void  execVectorConst(
        FFrame       &Stack,
        RESULT_DECL)

execVirtualFunction Править

void  execVirtualFunction(
        FFrame       &Stack,
        RESULT_DECL)

execWireTracepoint Править

void  execWireTracepoint(
        FFrame       &Stack,
        RESULT_DECL)

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики