41 lines
27 KiB
Markdown
Raw Normal View History

2024-10-12 17:19:46 +08:00
# ClassFlags :
|Name |Feature |Trait |Value|Description |UCLASS |Related to UPROPERTY|
|------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|--------------------|
|CLASS_Abstract |Blueprint | |0x00000001|指定这个类是抽象基类,不可实例化 |[Abstract](../Specifier/UCLASS/Blueprint/Abstract/Abstract.md) | |
|CLASS_Const |Blueprint |Inherit |0x00010000|该类的所有属性和函数都是const的也应该被暴露为const |[Const](../Specifier/UCLASS/Blueprint/Const/Const.md) | |
|CLASS_CompiledFromBlueprint |Blueprint | |0x00040000u|指定该类从蓝图的编译中创建 | | |
|CLASS_NewerVersionExists |Blueprint | |0x80000000u| | | |
|CLASS_NoExport |UHT | |0x00000100u|不暴露到C++头文件,不生成注册代码 |[NoExport](../Specifier/UCLASS/UHT/NoExport.md) | |
|CLASS_CustomConstructor |UHT | |0x00008000u|不创建一个默认构造函数只在C++环境下使用 |[CustomConstructor](../Specifier/UCLASS/UHT/CustomConstructor.md) | |
|CLASS_Deprecated |Editor |Inherit |0x02000000u|显示废弃警告 |[Deprecated](../Specifier/UCLASS/Development/Deprecated/Deprecated.md) | |
|CLASS_HideDropDown |Editor | |0x04000000u|类不在右键选择框中显示 |[HideDropDown](../Specifier/UCLASS/TypePicker/HideDropDown/HideDropDown.md) | |
|CLASS_EditInlineNew |Editor | |0x00001000u|对象可以通过EditinlineNew按钮构造 |[EditInlineNew](../Specifier/UCLASS/Instance/EditInlineNew/EditInlineNew.md), [NotEditInlineNew](../Specifier/UCLASS/Instance/NotEditInlineNew.md) | |
|CLASS_Hidden |Editor | |0x01000000u|不在编辑器的类浏览器和edit inline new中显示 | | |
|CLASS_CollapseCategories |Editor | |0x00002000u|属性在展示时不分目录 |[CollapseCategories](../Specifier/UCLASS/Category/CollapseCategories/CollapseCategories.md), [DontCollapseCategories](../Specifier/UCLASS/Category/DontCollapseCategories.md) | |
|CLASS_NotPlaceable |Behavior |Inherit |0x00000200u|不能被放置在场景中 |[Deprecated](../Specifier/UCLASS/Development/Deprecated/Deprecated.md), [NotPlaceable](../Specifier/UCLASS/Scene/NotPlaceable/NotPlaceable.md), [Placeable](../Specifier/UCLASS/Scene/Placeable/Placeable.md)| |
|CLASS_ReplicationDataIsSetUp |Behavior | |0x00000800u|是否在该类仍然需要调用SetUpRuntimeReplicationData | | |
|CLASS_MinimalAPI |DllExport | |0x00080000u|指定该类的最小导出,只导出获得类指针的函数 |[MinimalAPI](../Specifier/UCLASS/UHT/MinimalAPI/MinimalAPI.md) | |
|CLASS_RequiredAPI |DllExport |DefaultC++, Internal |0x00100000u|指定该类必须具有DLL导出导出所有函数和属性 |[UCLASS()](../Specifier/UCLASS/UHT/UCLASS().md) | |
| |DllExport | | | | | |
|CLASS_DefaultToInstanced |LoadConstruct |Inherit |0x00200000u|指定引用到该类的所有引用都默认创建个实例对象 |[DefaultToInstanced](../Specifier/UCLASS/Instance/DefaultToInstanced/DefaultToInstanced.md) | |
|CLASS_HasInstancedReference |LoadConstruct |Inherit |0x00800000u|类拥有组件属性 | | |
|CLASS_Parsed |LoadConstruct | |0x00000010u|成功解析完成 | | |
|CLASS_TokenStreamAssembled |LoadConstruct |DefaultC++ |0x00400000u|指定父类的TokenStream已经被成功合并到自身类上 |[UCLASS()](../Specifier/UCLASS/UHT/UCLASS().md) | |
|CLASS_LayoutChanging |LoadConstruct | | |指定该类的内存布局已经被改变因此目前还不能创建CDO | | |
|CLASS_Constructed |LoadConstruct |DefaultC++ |0x20000000u|类已经被构造完成 |[UCLASS()](../Specifier/UCLASS/UHT/UCLASS().md) | |
|CLASS_NeedsDeferredDependencyLoading|LoadConstruct |Inherit | |指定该类需要延迟依赖加载 |[NeedsDeferredDependencyLoading](../Specifier/UCLASS/Blueprint/NeedsDeferredDependencyLoading.md) | |
|CLASS_Transient |LoadConstruct |Inherit |0x00000008u|透明的,在序列化的时候被跳过 |[Transient](../Specifier/UCLASS/Serialization/Transient/Transient.md), [NonTransient](../Specifier/UCLASS/Serialization/NonTransient.md) | |
|CLASS_MatchedSerializers |LoadConstruct |DefaultC++, Internal |0x00000020u| |[UCLASS()](../Specifier/UCLASS/UHT/UCLASS().md), [MatchedSerializers](../Specifier/UCLASS/Serialization/MatchedSerializers/MatchedSerializers.md) | |
|CLASS_Native |Traits |DefaultC++ |0x00000080u|指定为原生类C++里创建的类 |[UCLASS()](../Specifier/UCLASS/UHT/UCLASS().md) | |
|CLASS_Intrinsic |Traits |DefaultC++ |0x10000000u|类在C++中定义且没有UHT生成的代码 |[Intrinsic](../Specifier/UCLASS/UHT/Intrinsic.md), [UCLASS()](../Specifier/UCLASS/UHT/UCLASS().md) | |
|CLASS_Interface |Traits | |0x00004000u|该类是一个接口 |[Interface](../Specifier/UCLASS/UHT/Interface.md) | |
|CLASS_Optional |Traits |Inherit |0x00000010u|This object type may not be available in certain context. (i.e. game runtime or in certain configuration). Optional class data is saved separately to other object types. (i.e. might use sidecar files) |[Optional](../Specifier/UCLASS/Serialization/Optional/Optional.md) | |
|CLASS_Config |Config |Inherit |0x00000004u|在构造的时候载入对象的config配置 | | |
|CLASS_DefaultConfig |Config |Inherit |0x00000002u|保存对象配置到DefaultXXX.ini而不是Local必须和CLASS_Config连用 |[DefaultConfig](../Specifier/UCLASS/Config/DefaultConfig/DefaultConfig.md) | |
|CLASS_ProjectUserConfig |Config |Inherit |0x00000040u|指定settings的config文件保存在Project/User*.ini 和CLASS_GlobalUserConfig类似 |[ProjectUserConfig](../Specifier/UCLASS/Config/ProjectUserConfig/ProjectUserConfig.md) | |
|CLASS_PerObjectConfig |Config |Inherit |0x00000400u|对每个对象进行配置,而不是在类级别 |[PerObjectConfig](../Specifier/UCLASS/Config/PerObjectConfig.md) | |
|CLASS_GlobalUserConfig |Config |Inherit |0x08000000u|类Setttings被保存到<AppData>/..../Blah.ini |[GlobalUserConfig](../Specifier/UCLASS/Config/GlobalUserConfig/GlobalUserConfig.md) | |
|CLASS_ConfigDoNotCheckDefaults |Config |Inherit |0x40000000u|指定对象配置将不会检查base/defaults ini |[ConfigDoNotCheckDefaults](../Specifier/UCLASS/Config/ConfigDoNotCheckDefaults.md) | |
|HasCustomFieldNotify | | | | |[CustomFieldNotify](../Specifier/UCLASS/UHT/CustomFieldNotify.md) | |