官方文档链接:

https://docs.unrealengine.com/latest/CHN/Programming/UnrealArchitecture/Reference/index.html

类声明

类声明定义类的名称、其继承的类,以及其继承的函数和变量。类声明还将定义通过 类说明符 和元数据要求的其他引擎和编辑器特定行为。

类声明的语法如下所示:

UCLASS([specifier, specifier, ...], [meta(key=value, key=value, ...)])
class ClassName : public ParentName
{
GENERATED_BODY()
}

声明包含一个类的标准 C++ 类声明。在标准声明之上,描述符(如类说明符和元数据)将被传递到 UCLASS 宏。它们用于创建被声明类的UClass,它可被看作引擎对类的专有表达。此外,GENERATED_BODY() 宏必须被放置在类体的最前方。

类修饰符
Abstract 
Abstract 类修饰符将类声明为“抽象基类”,这样会阻止用户在虚幻编辑器中向这个世界中添加这个类的Actor,或者在游戏过程中创建这个类的实例。
AdvancedClassDisplay
AdvancedClassDisplay 类修饰符强制类的所有属性仅在 Details(详细信息) 面板中的 高级部分 中显示,并在默认情况下从视图中隐藏。
AutoCollapseCategories
AutoCollapseCategories 类修饰符取消在父类上使用 AutoExpandCategories 修饰符的列出的分类的效果。

AutoExpandCategories

为这个类的对象指定应该在虚幻编辑器属性窗口中自动展开的一个或多个类别。要自动展开没有声明类别的变量,请使用声明这个变量的类的名称。

Blueprintable

指定该类为创建蓝图的可接受基类。除非被继承,否则默认值为NotBlueprintable。它由子类继承。

BlueprintType

此类可作为蓝图中的一种变量类型使用

ClassGroup

表示虚幻编辑器的 Actor 浏览器 在 Actor 浏览器 中启用 Group View(组视图) 的时候应该在指定的 GroupName(组名称) 中包括这个类及其所有子类。

ClassGroup=GroupName

CollapseCategories

表示这个类的属性不应该归类在虚幻编辑器属性窗口的类别中。这个关键字被传递给子类,但子类可以使用DontCollapseCategories关键字覆盖这个标志。
Config
表示允许这个类在配置文件(.ini)中存储数据。Config=FileName

Const

本类中的所有属性及函数均为常量,并应作为常量导出。该标识由子类继承。

ConversionRoot

根转换限制子类转换,使其仅能转换为其上等级的首个根类的子类

CustomConstructor


防止构造函数声明的自动生成。

DefaultToInstanced

该类中所有实例都被视为"已进行实例化"。已进行实例化的类(组件)在构建时被复制。该标识由子类继承。

DependsOn

表示 ClassName 是在这个类之前进行编译的。DependsOn=(ClassName, Classname, ...)
Deprecated
该类已被废弃,并且该类的对象在序列化时将不会被保存。该标识由子类继承。

DontAutoCollapseCategories

取消从父类继承的特定目录的AutoCollapseCategories关键字。

DontAutoCollapseCategories=(Category, Category, ...)

DontCollapseCategories

取消从基类继承的CollapseCatogories关键字。

EditInlineNew

表示这个类的对象可以通过虚幻编辑器属性窗口进行创建(默认的操作是只引用可以通过属性窗口进行分配的现有对象)。这个标志将被传递给所有子类,子类可以使用 NotEditInlineNew 关键字覆盖这个标志。

HideCategories

为这个类的对象指定应该隐藏在虚幻编辑器属性窗口中的一个或多个类别。要隐藏没有声明类别的变量,请使用声明这个变量的类的名称。这个关键字被传递给子类。

HideCategories=(Category, Category, ...)

HideDropdown

禁止这个类显示在虚幻编辑器属性窗口组合框中。

HideFunctions

将指定函数隐藏在属性视图中。使用方法:hideFunctions=FunctionName或hideFunctions=(category0, category1, ...)

Intrinsic

类直接在C++中进行声明,并且不具有由UnrealHeaderTool生成的样板文件。

MinimalAPI

使得类的类型信息由其他模块导出以供使用。这个类可以被投射,但类的函数无法被调用(除了内联方式)。这样可以改善对不需要其所有功能在其它模块进行调用的类的编译时间。

NoExport

表示这个类的声明不应该包含在头文件编译器自动生成的 C++ 头文件中。该 C++ 类声明必须在单独的头文件中手动进行定义。只对 native 类有效。

NonTransient

N取消从基类继承的Transient关键字。

NotBlueprintable

指定该类 不是 创建蓝图的可接受基类。除非被继承,否则默认值为NotBlueprintable。它由子类继承。

NotPlaceable

否定从基类继承的Placeable关键字。表示在虚幻编辑器中不可以将这个类放置到关卡等位置。

PerObjectConfig

这个类的配置信息将会根据对象进行存储,其中每个对象在.ini文件中都有一项,它以这个对象的名字命名,格式为[ObjectName ClassName]。此关键字被传递到子类。

Placeable


表明该类可在虚幻编辑器内进行创建并被放置在关卡,UI场景,或蓝图内(取决于该类类型)。此标识被传递到所有的子类中,子类可使用NotPlaceable 关键字来重载该标识。

ShowCategories


否定从基类继承的特定分类的 HideCategories 关键字。

ShowCategories=(Category, Category, ...)

ShowFunctions

在属性视图中显示指定的函数,使用方法:showFunctions=FunctionName或者showFunctions=(category0, category1, ...)

Transient

也就是“属于这个类的对象永远不应该保存在磁盘上”。仅在与本身为非持续的native类的特定种类结合使用时有用。这个关键字被传递给子类,子类可以使用NonTransient关键字覆盖这个标志。

Within

Within 类修饰符表明此类的对象不能存在于 ClassName 的实例 之外 。 为了创建这个类的对象,您必须将 ClassName 的实例指定为 Outer对象。

UE4类修饰符的更多相关文章

  1. java中的类修饰符、成员变量修饰符、方法修饰符。

    类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. fin ...

  2. java中的类修饰符、成员变量修饰符、方法修饰符

    类修饰符:  public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. fi ...

  3. partial类修饰符

    partial是一个类修饰符,用于把类定义拆分为几个部分,便于代码管理,如class ClassA{void A(){;}void B(){;}}与partial class ClassA{void ...

  4. 类修饰符为abstract与final

    类修饰符为abstract:这个类可以被继承,因此可以通过子类来产生实例. 类修饰符为final:这个类不能被继承. 类修饰符不能同时为abstract.final:编译器会提示: 非法的修饰符组合: ...

  5. 构造方法为private与类修饰符为final

    构造方法为private的:在这个类外1:不能继承这个类2:不能用new来产生这个类的实例 在这个类内:1:可以继承这个类2:可以用new来产生这个类的实例 类修饰符为final的:在这个类外1:不能 ...

  6. Java中的类修饰符

    资料主要来源于网络(http://60.28.60.3/zy/java-new/zhishidian/chap3/3.htm) 之前每次写小测试程序的时候,总是把一个类放在一个Java文件中,按理说这 ...

  7. Java类修饰符的使用与作用以及常见问题

    首先明确,类是放在文件里的,在文件里面的不同位置就有不同的作用,就是不同类型的类. 1, 顶级类or外部类:包括两种,一个文件中与文件名同名称的类我们称作顶级类(也是外部类),如果在一个文件中的一个类 ...

  8. @property的4类修饰符

    一.读写性修饰符:readwrite | readonly readwrite:表明这个属性是可读可写的,系统为我们创建这个属性的setter和getter方法. readonly:表明这个属性只能读 ...

  9. 学习C#修饰符:类修饰符和成员修饰符

    C#修饰符之类修饰符:public.internal. partial.abstract.sealed.static C#修饰符之成员修饰符:public.protected.private.inte ...

随机推荐

  1. Java文件操作(新建,遍历,删除)

    //创建文件 private static void createFile(File file){ try { if(!file.exists()){ if(file.getParentFile() ...

  2. Miox带你走进动态路由的世界——51信用卡前端团队

    写在前面: 有的时候再做大型项目的时候,确实会被复杂的路由逻辑所烦恼,会经常遇到权限问题,路由跳转回退逻辑问题.这几天在网上看到了51信用卡团队开源了一个Miox,可以有效的解决这些痛点,于是乎我就做 ...

  3. Mybatis中 collection 和 association 的区别

    public class A{ private B b1; private List<B> b2;} 在映射b1属性时用association标签,(一对一的关系) 映射b2时用colle ...

  4. Enum枚举

    Java Enum原理 public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要 ...

  5. html下载excel模板

    只需要href等于模板存放的路径即可 <a href="../../TempLate/Attitude.xlsx" class="easyui-linkbutton ...

  6. 新手级配置 react react-router4.0 redux fetch sass

    前言 最近公司来了几个实习生,刚好我手头没什么要紧事,然后领导让我带他们学习react, 为下一个react项目做基础. 然后随手写了几个demo,帮助他们了解正经项目如何去构建配置项目. 现在分享出 ...

  7. golang 线程与通道

    首先我们来看线程,在golang里面也叫goroutine 在读这篇文章之前,我们需要了解一下并发与并行.golang的线程是一种并发机制,而不是并行.它们之间的区别大家可以上网搜一下,网上有很多的介 ...

  8. PHP MySQL Where 子句

    WHERE 子句 WHERE 子句用于提取满足指定标准的的记录. 语法 SELECT column_name(s) FROM table_name WHERE column_name operator ...

  9. [BBS]搭建开源论坛之JForum安装使用札记

    本文作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/47761303 目录 目录 BBS搭建开源论坛之JF ...

  10. linux:关于Linux系统中 CPU Memory IO Network的性能监测

    我们知道:系统优化是一项复杂.繁琐.长期的工作.通常监测的子系统有以下这些:CPUMemoryIO Network 下面是常用的监测工具 Linux 系统包括很多子系统(包括刚刚介绍的CPU,Memo ...