每天学习亿点点day 5: Uobject相关类源码剖析
1. 首先理清楚大体的类结构是怎样的
2. 其次我们来看一看Uobject相关联的几个类的继承结构吧
UObjectBase->UObjectBaseUtility->Uobject
首先看一下UObjectBase:
低层次的Uobject封装, 基本没啥用
Name | Description | |
---|---|---|
|
UObjectBase()
|
|
|
UObjectBase
( |
用于引导的构造函数
|
|
UObjectBase
( |
给全局StaticAllocateObject 用的用于生成一个新的object instance的构造函数 |
Name | Description | |
---|---|---|
|
~UObjectBase()
|
析构函数用于将object从object列表中移除,以及清理内存 |
Name | Description | ||
---|---|---|---|
|
AtomicallyClearFlags
( |
消除某个标志位的原子操作 |
|
|
AtomicallySetFlags
( |
去添加某个标志位的 |
|
|
DeferredRegister |
把一个启动注册类添加到实际要实例化类,并添加到object列表里 |
|
|
EmitBaseReferences
( |
Emit GC tokens for UObjectBase, this might be UObject::StaticClass or Default__Class (不太懂啥意思,貌似是反射相关的) |
|
|
UClass * | GetClass()
|
返回关于本class的相关信息,用于定义object的域 (里面放了多少变量函数啥的) |
|
GetFlags()
|
直接取得object实例的标志位 |
|
|
GetFName()
|
获得本object的逻辑名应该是自动生成的 |
|
|
UObject *... | GetOuter()
|
返回该objectbase在被哪个object使用 |
|
GetUniqueID()
|
返回本object的独特id, 当本object仍存活的时候才是独特的 |
|
|
IsValidLowLevel()
|
检查本object是否合法 |
|
|
IsValidLowLevelFast
( |
上面那个方法的加速版本 |
|
|
LowLevelRename |
改变FName 和Outer并重新加入哈希表 |
|
|
Register |
将本object的register过程加入队列 |
|
|
RegisterDependencies()
|
强制任何任何baseclass最先注册 |
|
|
SetFlagsTo
( |
直接设置EObjectFlags |
Name | Description | |
---|---|---|
|
UObjectBaseUtility()
|
构造函数 |
|
UObjectBaseUtility
( |
Name | Description | ||
---|---|---|---|
|
AddToCluster
( |
将本object计入到GC (garbage collector) cluster |
|
|
AddToRoot()
|
将object加入到根集合 |
|
|
AppendName
( |
优化版本的GetName函数, 会直接在现有的字符串后添加 |
|
|
AtomicallyClearInternalFlags
( |
将内部状态位清楚,原子操作 |
|
|
CanBeClusterRoot()
|
在加载之后调用决定看是否能作为GC的cluster root使用 |
|
|
CanBeInCluster()
|
在 cluster构造函数中调用看object能否被加入到cluster |
|
|
ClearFlags
( |
特定object中清除掉状态子集 |
|
|
ClearInternalFlags
( |
清除掉传进的内部状态标志位 |
|
|
ClearPendingKill()
|
把该object从死亡线上拉回来 |
|
|
CreateCluster()
|
在后加载完毕后调用,来新建object的cluster |
|
|
CreateClusterFromObject
( |
从一个object上创建一个clusterm,辅助函数 |
|
|
const UClass... | FindNearestCommonBaseClass
( |
找到类继承关系里最近的公共子父亲 |
|
GetAllMarks()
|
返回所有标志 |
|
|
GetFullGroupName
( |
从包链条上回溯找到最顶层的包 |
|
|
GetFullName
( |
去除不必要复制的版本的GetFullName() |
|
|
GetFullName
( |
返回class的路径和类名:'ClassName Outermost[.Outer].Name'. |
|
|
void * | GetInterfaceAddress
( |
安全返回一个指向该object并转换为特定interface类的指针 |
|
EInternalObj... | GetInternalFlags()
|
获得内部标志 |
|
FLinkerLoad ... | GetLinker()
|
获得本object的linker |
|
GetLinkerCustomVersion
( |
Returns the custom version of the linker for this object corresponding to the given custom version key. 定制版本的获得某定制key下的object linker |
|
|
GetLinkerIndex()
|
获得object的linker index |
|
|
GetLinkerLicenseeUE4Version()
|
返回该object的许可证 版本linker |
|
|
GetLinkerUE4Version()
|
返回该object的ue4版本linker |
|
|
GetMaskedFlags
( |
返回object里同时在mask并且被设置了的flag |
|
|
GetName()
|
返回该object的名字,不带路径信息 |
|
|
GetName
( |
优化版本的GetName
|
|
|
void * | GetNativeInterfaceAddress
( |
获得本object实现了的原interface的地址 |
|
const void &... | GetNativeInterfaceAddress
( |
获得本object实现了的原常量interface的地址 |
|
UPackage ... | GetOutermost()
|
找到最顶层的outer (谁拥有本object) |
|
GetPathName
( |
Returns the fully qualified pathname for this object, in the format: 'Outermost[.Outer].Name' |
|
|
GetPathName |
Version of GetPathName() that eliminates unnecessary copies. |
|
|
GetStatID
( |
返回本object的stat id有就返回,无就创造然后返回 |
|
|
UObject *... | GetTypedOuter
( |
沿着outer链条回溯然后找特定的 |
|
T * | GetTypedOuter()
|
Traverses the outer chain searching for the next object of a certain type. |
|
HasAllFlags
( |
检查传入进来的flags是否已经被设置 |
|
|
HasAllMarks
( |
检查是否有特定的mask |
|
|
HasAnyFlags
( |
是否有特定的flag |
|
|
HasAnyInternalFlags
( |
Used to safely check whether any of the passed in internal flags are set. |
|
|
HasAnyMarks
( |
Tests an object for having ANY of a set of marks |
|
|
IsA
( |
是否为某类 |
|
|
IsA()
|
检查是否为模板类 |
|
|
IsDefaultSubobject()
|
检查是否是一个模板实例化的例子或者是否是一个模板 |
|
|
IsIn
( |
看该object是否是在本object chain上 |
|
|
IsInA
( |
是否有一个outer是某种类型 |
|
|
IsNative()
|
是否是native的 |
|
|
IsPendingKill()
|
Checks the PendingKill flag to see if it is dead but memory still valid |
|
|
IsPendingKillOrUnreachable()
|
Checks if the object is pending kill or unreachable. |
|
|
IsRooted()
|
是否被rooted了 |
|
|
IsTemplate
( |
决定本object是否是模板object |
|
|
IsUnreachable()
|
是否是无法到达 |
|
|
Mark
( |
给object添加mark |
|
|
MarkPackageDirty()
|
找到最外层的包并污染它 |
|
|
MarkPendingKill()
|
标记为pendingkill |
|
|
OnClusterMarkedAsPendingKill()
|
cluster被标记要被杀死的时候对于本object要调用的函数 |
|
|
RemoveFromRoot()
|
从根集里移除 |
|
|
RootPackageHasAnyFlags
( |
跟包里是否有任何flag |
|
|
SetFlags
( |
设置某标志位 |
|
|
SetInternalFlags
( |
清除传入的内部标志位 |
|
|
ThisThreadAtomicallyClearedRFUnreachable()
|
清除无法达到标志位, 原子操作 |
|
|
UnMark
( |
移除掉各种mask |
Name | Description | ||
---|---|---|---|
|
operator<
( |
重载<符号,比较两个object的name |
UE4 所有object的父类, object的类型由其UClass定义. object提供新建object和使用object的辅助性函数,以及需要被子类覆盖的虚函数
Name | Description | |
---|---|---|
|
UObject()
|
Default constructor |
|
UObject
( |
已经弃用的构造函数, objectintializer已经不再使用, 但还是位老的类提供支持 |
|
UObject
( |
不要使用,仅仅是给内部热加载使用的 |
|
UObject
( |
不要使用, 此构造函数仅仅是给内部使用的静态创建object方法 |
Name | Description | ||
---|---|---|---|
|
__DefaultConstructor
( |
默认构造函数 | |
|
UObject *... | __VTableCtorCaller
( |
创建虚函数列表的 |
|
AbortInsideMemberFunction()
|
在调用堆栈的顶部使用成员函数调用时放弃,这有助于确保大多数平台将该对象的内存填充到产生的最小转储中。 |
|
|
AddReferencedObjects
( |
用于允许对象注册尚未被令牌流覆盖的直接对象引用的回调。 |
|
|
AreNativePropertiesIdenticalTo
( |
原始属性是否是和传入的object一样 |
|
|
BeginCacheForCookedPlatformData
( |
开始为目标平台缓存特定于平台的数据,在序列化之前进行cooking时调用,以便对象可以准备特定于平台的数据,在普通加载object的时候不得调用 |
|
|
BeginDestroy()
|
在摧毁actor之前进行调用 |
|
|
BuildSubobjectMapping |
给定OtherObject(它将与'this'相同类型),递归地从'this'中找到任何匹配的子对象,也存在于OtherObject中,并将映射添加到ObjectMapping。 |
|
|
CallAddReferencedObjects
( |
将本object加入到本class里实例引用列表中 |
|
|
CallFunction |
内部用于执行函数的虚拟机方法 |
|
|
CallFunctionByNameWithArguments
( |
从控制台和命令行执行函数的时候通过函数名处理 |
|
|
CallRemoteFunction
( |
远程调用函数 |
|
|
CanCheckDefaultSubObjects |
检查此时刻是否能检查子object |
|
|
CanCreateInCurrentContext
( |
检查当前上下文情况下能否新建特定模板的实例 |
|
|
CanEditChange
( |
由editor调用是否能修改某属性 |
|
|
CanModify()
|
用于覆盖不安全的modify如果此时返回无法modify |
|
|
CheckDefaultSubobjects
( |
检查当下子object |
|
|
CheckDefaultSubobjectsInternal()
|
检查内部子object |
|
|
ClearAllCachedCookedPlatformData()
|
清除所有platform cached data |
|
|
ClearCachedCookedPlatformData
( |
清除特定platform cached data |
|
|
CollectDefaultSubobjects |
建造一个list里面包含所有以本object为outer的component |
|
|
ConditionalBeginDestroy()
|
摧毁object之前调用 |
|
|
ConditionalFinishDestroy()
|
object已经实际被摧毁的时候调用,内存禁止再访问 |
|
|
ConditionalPostLoad()
|
如果需要就要执行的后加载 |
|
|
ConditionalPostLoadSubobjects
( |
加载子object实例和components如果有这个需要 |
|
|
CookAdditionalFiles
( |
在cook阶段调用,允许objects去生成cooked package之外的cooked 文件 |
|
|
TSharedPtr< ... | CreateAndRestoreTransactionAnnotation
( |
使用应用事务所需的任何外部数据创建和恢复以前序列化的注释对象 |
|
UObject *... | CreateDefaultSubobject |
下面模板的实用函数 |
|
TReturnType ... | CreateDefaultSubobject |
创建一个组件或子对象,允许创建一个子类并返回父类。 |
|
TReturnType ... | CreateDefaultSubobject |
创建组件或子对象 |
|
TReturnType ... | CreateEditorOnlyDefaultSubobject |
创建只与编辑器一起使用的组件或子对象 |
|
TReturnType ... | CreateOptionalDefaultSubobject |
创建可选组件或子对象 |
|
DestroyNonNativeProperties()
|
销毁不会被原生析构函数销毁的属性 |
|
|
ExecuteUbergraph
( |
从特定的入口点执行ubergraph |
|
|
ExportCustomProperties
( |
将指定对象的属性值作为文本导出到输出设备 |
|
|
TSharedPtr< ... | FactoryTransactionAnnotation
( |
|
|
UFunction &#... | FindFunction
( |
返回一个具有指定名称的UFunction, UClass::FindFunctionByName() |
|
UFunction &#... | FindFunctionChecked
( |
FindFunction()的版本,它将在没有找到函数时进行断言 |
|
TSharedPtr< ... | FindOrCreateTransactionAnnotation()
|
使用应用事务所需的任何外部数据查找或创建并填充注释对象 |
|
FinishDestroy()
|
|
|
|
UObject *... | GetArchetype()
|
返回该对象所基于的模板 |
|
UObject *... | GetArchetypeFromRequiredInfo
( |
返回具有这个类、外部和名称的对象的模板 |
|
GetArchetypeInstances |
构建在其原型链中具有此对象的对象列表。 |
|
|
GetAssetRegistryTagMetadata
( |
收集资产注册标签元数据的集合 |
|
|
GetAssetRegistryTags
( |
收集一个资产注册表的可搜索标签列表,这些标签是带有一些类型信息的名称/值对 |
|
|
const TCHAR ... | GetConfigOverridePlatform()
|
返回覆盖的配置层次结构平台(如果NDAd平台需要默认值不在Base*.ini中,但仍然希望编辑器加载它们) |
|
GetDefaultConfigFilename()
|
获取指定UObject的默认配置文件名 |
|
|
UObject *... | GetDefaultSubobjectByName
( |
根据其名称找到与此对象实例关联的子对象 |
|
GetDefaultSubobjects |
获取与此对象实例关联的所有默认子对象 |
|
|
GetDesc()
|
返回用于在通用浏览器的缩略图视图中查看的对象的一行描述 |
|
|
GetDetailedInfo()
|
这将返回关于这个特定对象的详细信息 |
|
|
GetDetailedInfoInternal()
|
这个函数实际上为GetDetailedInfo()执行工作,并且是虚函数 |
|
|
GetExporterName()
|
返回用于导出此对象的导出工厂的名称。当多个工厂具有相同的扩展名时使用 |
|
|
GetFunctionCallspace |
返回这个函数应该被调用的空间 |
|
|
GetGlobalUserConfigFilename()
|
获取指定UObject的全局用户覆盖配置文件名 |
|
|
GetLifetimeReplicatedProps
( |
返回在参与者通道的生命周期内复制的属性 |
|
|
TSet< FName ... | GetMetaDataTagsForAssetRegistry()
|
从UMetaData转移到资产注册表的元数据标签 |
|
GetNativePropertyValues |
用于检索本机序列化属性的文本表示的回调 |
|
|
GetPreloadDependencies |
Called during cooking. |
|
|
GetPrestreamPackages |
Called during cooking. |
|
|
FPrimaryAsse... | GetPrimaryAssetId()
|
返回一个类型:名称对,表示该对象的PrimaryAssetId |
|
GetResourceSizeBytes
( |
这是一个简单的版本,它只返回这个对象使用的总字节数 |
|
|
GetResourceSizeEx
( |
这是一个扩展版本,它将使用的内存分割成不同的内存区域(其实际定义可能是特定于平台的) |
|
|
FRestoreForU... | GetRestoreForUObjectOverwrite()
|
在覆盖现有对象的情况下,保存StaticAllocateObject的信息 |
|
UScriptStruc... | GetSparseClassDataStruct()
|
返回对应于sidecar数据结构的UStruct,该数据结构存储了该类所有实例的常量数据 |
|
GetSubobjectsWithStableNamesForNetworking |
返回具有用于联网的稳定名称的子对象列表 |
|
|
Implements()
|
如果该对象实现了接口T,则返回true,否则返回false |
|
|
ImportCustomProperties
( |
将指定对象的属性值作为文本导出到输出设备 |
|
|
InstanceSubobjectTemplates
( |
为这个对象调用UClass::InstanceSubobjectTemplates()的包装器 |
|
|
IsAsset()
|
如果该对象被视为资产,则返回true |
|
|
IsBasedOnArchetype
( |
确定该对象的原型链中是否有SomeObject |
|
|
IsCachedCookedPlatformDataLoaded
( |
我们是否已经完成了在BeginCacheForCookedPlatformData中请求的目标平台的所有熟化平台数据的加载 |
|
|
EDataValidat... | IsDataValid | |
|
IsDestructionThreadSafe()
|
在垃圾收集期间调用,以确定对象是否可以在工作线程上调用其析构函数。 |
|
|
IsEditorOnly()
|
在保存期间调用,以确定对象是否强制仅为编辑器 |
|
|
IsFullNameStableForNetworking()
|
IsFullNameStableForNetworking表示可以通过网络引用对象的完整路径名 |
|
|
IsInBlueprint()
|
返回此对象是包含在蓝图对象中还是其一部分 |
|
|
IsLocalizedResource()
|
如果该对象被认为是本地化资源,则返回true |
|
|
IsNameStableForNetworking()
|
IsNameStableForNetworking意味着可以通过网络引用对象的路径名(相对于外部) |
|
|
IsPostLoadThreadSafe()
|
在异步加载期间调用,以确定是否可以在加载线程上调用PostLoad |
|
|
IsReadyForAsyncPostLoad()
|
在FAsyncPackage::PostLoadObjects()中调用PostLoad()之前调用 |
|
|
IsReadyForFinishDestroy()
|
调用来检查对象是否准备好完成销毁 |
|
|
IsSafeForRootSet()
|
如果该对象可以安全添加到根集,则返回true |
|
|
IsSelected()
|
测试UObject的选择状态 |
|
|
IsSupportedForNetworking()
|
IsSupportedForNetworking意味着一个对象可以在网络上被引用 |
|
|
LoadConfig |
从.ini文件中导入属性值 |
|
|
LoadedFromAnotherClass
( |
当对象通过活动类重定向从另一个类加载时调用. |
|
|
MarkAsEditorOnlySubobject()
|
在创建子对象期间调用,将此组件标记为仅为编辑器,这会导致它在打包构建中被剥离 |
|
|
Modify
( |
提示该object会被modified |
|
|
MoveDataToSparseClassDataStruct()
|
||
|
NeedsLoadForClient()
|
在保存期间调用,以确定要与对象一起保存的加载标志 |
|
|
NeedsLoadForEditorGame()
|
在保存期间调用,以在编辑器构建中运行的客户机/服务器中包含此对象,即使它们通常不会 |
|
|
NeedsLoadForServer()
|
在保存期间调用,以确定要与对象一起保存的加载标志 |
|
|
NeedsLoadForTargetPlatform
( |
在保存期间调用,以确定要与对象一起保存的加载标志 |
|
|
OutputReferencers
( |
将字符串输出到任意输出设备,描述保存对该设备的引用的对象列表 |
|
|
OverridePerObjectConfigSection
( |
允许PerObjectConfig类,以覆盖用于PerObjectConfig对象的ini节名称 |
|
|
ParseParms
( |
从文件中导入对象 |
|
|
PostCDOContruct()
|
在类的CDO上运行c++构造函数后调用 |
|
|
PostDuplicate
( |
||
|
PostDuplicate
( |
在复制和序列化之后和PostLoad之前调用 |
|
|
PostEditChange()
|
Intentionally non-virtual as it calls the FPropertyChangedEvent version |
|
|
PostEditChangeChainProperty
( |
当修改结构内部的属性时,会调用这个PostEditChange的替代版本 |
|
|
PostEditChangeProperty
( |
当此对象上的属性被外部修改时调用 |
|
|
PostEditImport()
|
允许对象对不应该被复制或脚本序列化不支持的属性执行任何清理 |
|
|
PostEditUndo()
|
将事务应用于对象后调用 |
|
|
PostEditUndo |
在提供事务注释的情况下,将事务应用到对象后调用 |
|
|
PostInitProperties()
|
在c++构造函数和初始化属性(包括从config加载的属性)之后调用 |
|
|
PostInterpChange
( |
当属性被InterpPropertyTracks修改时,将调用此函数 |
|
|
PostLinkerChange()
|
在响应链接器更改时调用,这只能发生在编辑器中 |
|
|
PostLoad()
|
在加载对象后立即执行任何特定于对象的清理 |
|
|
PostLoadSubobjects
( |
如果需要,从磁盘加载对象的实例组件 |
|
|
PostNetReceive()
|
收到网络信息之后就调用 |
|
|
PostReloadConfig
( |
在对象重新加载其配置数据后从ReloadConfig调用 |
|
|
PostRename |
在Rename()结束时调用,但仅在实际执行重命名时调用 |
|
|
PostRepNotifies()
|
在调用所有OnRep通知后立即调用(即使没有通知也会调用) |
|
|
PostSaveRoot
( |
在传入的base/root对象上从SavePackage内部调用 |
|
|
PostTransacted
( |
在以某种方式处理对象后调用 |
|
|
PreDestroyFromReplication()
|
在因为网络复制而被标记为破坏之前调用 |
|
|
PreEditChange
( |
当修改结构内部的属性时,会调用这个PreEditChange的替代版本 |
|
|
PreEditChange
( |
当要从外部修改属性时,将调用此函数 |
|
|
PreEditUndo()
|
在将事务应用于对象之前调用 |
|
|
PreNetReceive()
|
收到信息之前调用 |
|
|
PreSave
( |
预存档函数 |
|
|
PreSaveRoot
( |
在传入的base/root对象上从SavePackage内部调用 |
|
|
ProcessConsoleExec
( |
这个函数处理发送给对象的console exec;它是虚拟的,所以像玩家控制器这样的“联结”对象可以将命令重新路由到多个不同的对象 |
|
|
ProcessEvent |
由VM调用,以执行一个UFunction,其中填充了参数UStruct |
|
|
ProcessInternal |
内部函数调用处理 |
|
|
PropagatePostEditChange
( |
基于AffectedObjects中的原型对所有实例调用PostEditChange |
|
|
PropagatePreEditChange
( |
基于AffectedObjects中的原型对所有实例调用PreEditChange |
|
|
UClass * | RegenerateClass |
当装载ClassGeneratedBy时,在目标上调用 |
|
ReinitializeProperties
( |
InitProperties()的包装器函数,它在从指定的源对象重新初始化该对象之前安全地销毁该对象 |
|
|
ReloadConfig |
LoadConfig的包装器方法,用于在运行时重新加载配置数据的对象,这些对象至少已经加载了一次配置数据。 |
|
|
Rename
( |
将此对象重命名为唯一名称,或更改其外部 |
|
|
RetrieveReferencers
( |
由OutputReferencers()调用,以获得要编写的引用器的内部列表 |
|
|
SaveConfig
( |
将配置保存到ini文件中,调用类默认对象必须是安全的 |
|
|
Serialize
( |
使用FArchive处理读取、写入和引用收集 |
|
|
Serialize
( |
使用FArchive处理读取、写入和引用收集 |
|
|
SerializeScriptProperties
( |
序列化位于data中的脚本属性数据 |
|
|
SerializeScriptProperties
( |
序列化位于data中的脚本属性数据. |
|
|
SetLinker
( |
将链接器和链接器索引更改为传入的一个. |
|
|
ShutdownAfterError()
|
在出现重大错误后,执行任何关键任务的清理,如恢复视频模式或释放硬件资源 |
|
|
SkipFunction |
advanced Stack的代码将参数传递给给定函数,如果函数有返回值,将该属性的0值复制到内存中作为返回值 |
|
|
const FName ... | SourceFileTagName()
|
获取用于所有资源源文件导入路径的通用标记名 |
|
UClass * | StaticClass()
|
在运行时返回表示该类的UClass对象 |
|
EClassCastFl... | StaticClassCastFlags()
|
返回该类的静态类型转换标志 |
|
const TCHAR ... | StaticConfigName()
|
|
|
const TCHAR ... | StaticPackage()
|
返回该类所属的包 |
|
StaticRegisterNativesUObject()
|
||
|
TagSubobjects
( |
使用指定的对象标志标记属于同一资产的对象,用于GC检查 |
|
|
UpdateClassesExcludedFromDedicatedClient |
更新我们应该从专用客户端构建中排除的类列表 |
|
|
UpdateClassesExcludedFromDedicatedServer |
更新我们应该从专用服务器构建中排除的类列表 |
|
|
UpdateDefaultConfigFile
( |
将这个类的部分保存到这个类的默认ini文件中(只有从基类开始的更改) |
|
|
UpdateGlobalUserConfigFile()
|
将这个类的部分保存到这个类的全局用户ini文件中(只有从基类开始的更改) |
|
|
UpdateSinglePropertyInConfigFile |
将属性保存到类的全局用户ini文件中(仅从基类进行更改) |
|
|
ValidateGeneratedRepEnums
( |
||
|
WillNeverCacheCookedPlatformDataAgain()
|
该对象的所有缓存已经完成(所有平台的IsCachedCookedPlatformDataLoaded函数已经完成) |
Name | Description | ||
---|---|---|---|
|
void * | operator new
( |
只供内部使用;使用StaticConstructObject()创建新对象 |
|
void * | operator new
( |
只供内部使用;使用StaticConstructObject()创建新对象 |
Name |
Description | |
---|---|---|
|
FAssetRegistryTag |
GetAssetRegistryTags()用来返回标签信息的结构 |
|
FAssetRegistryTagMetadata |
与编辑器使用的资产注册标记有关的其他数据 |
|
Object_eventExecuteUbergraph_Parms |
包装器结构将入口点保存在正确的内存地址中 |
Name |
Description | |
---|---|---|
|
ENetFields_Private |
|
|
ETransactionAnnotationCreationMode |
工厂一个新的注释对象,并可选地用数据填充它 |
Name |
Description |
---|---|
StaticClassFlags |
Bitwise union of EClassFlags pertaining to this class. |
Name | Description | ||
---|---|---|---|
|
CookAdditionalFiles
( |
Use the new CookAdditionalFilesOverride that provides a function to write the files |
|
|
TReturnType ... | CreateAbstractDefaultSubobject |
CreateAbstract did not work as intended and has been deprecated in favor of CreateDefaultObject |
|
UObject *... | CreateDefaultSubobject |