UE_C++ —— UE反射系统
Unreal Engine Reflection System是通过各种宏来封装类,以提供引擎和编辑器功能;当使用UE编程时,可使用标准的C++类、函数和变量;
- UE中对象的基类是UObject,每个类都定义了一个模板(用于新Actor或对象);
- 可使用UClass宏来标记从UObject派生的类,以便UObject handling system注意到它们;
- TSubclassOf是一个提供类型安全的UClass模板类,对赋加类(从特定类型派生的类)非常有用,如可把变量公开给蓝图,设计者可赋加特定武器类(为玩家角色指定生成);
- 类可包含structs,structs是可帮助组织和操控其相关成员属性的数据结构,可使用USTRUCT()宏来单独定义;
- Unreal Smart Pointer Library是C++11智能指针的自定义实现,旨在减轻内存分配和追踪的负担;包含行业标准的 Shared Pointers、Weak Pointers、Unique Pointers、Shared References(非空共享指针);
- Interfaces提供可以在多个或不同的类中实现函数和额外的游戏行为;玩家角色可以与世界中的各种Actor互动,每个互动都能引起对一个事件的不同反应;
- Metadata Specifiers控制classes、interfaces、structs、enums、functions,或properties与引擎和编辑器各方面的交互方式;每一种类型的数据结构或成员都有自己的元数据说明符列表;
- UFUNCTION、UPROPERTY宏使UE能注意到新的类、函数和变量,这些宏由引擎进行垃圾回收;在指定宏时可,可在UE内编辑和显示它们;
- Objects
- Properties
- Structs
- TSubclassOf
- Unreal Interfaces
- Metadata Specifiers
- UFunctions
- Unreal Smart Pointer Library