欢迎使用CSDN-markdown编辑器
2015-07-15 12:13
302 查看
UnrealEngine4之UObject
Runtime最关键的实现是UObject,它是所有引擎层面、游戏层面对象的基类。UObject实现了动态创建、持久化、脚本化、内存管理、生存期控制。
关于动态创建
通过一个类名创建一个对象就是动态创建。UnrealEngine4流程就是:
FStringClassReference XxxxClassName;
|
TSubclassOf XxxxClass;
|
Xxxx* XxxxObject;
通过类名找到运行时类型信息,再通过运行时类型信息创建一个对象。
UField、UStruct、UClass、UProperty、UFunction、UEnum等是构建运行时类型信息的数据结构,参见Runtime/CoreUObject/Public/UObject/Class.h
这些运行时类型信息怎么构建起来
UnrealEngine4里每个类都会对应一个Xxxx.generated.h,这个里面放着构建运行时类型信息的宏定义代码。这个Xxxx.gengerated.h是通过UnrealHeaderTool(UHT)生成的。UHT通过解析每个头文件里的关键字UCLASS、USTRUCT、UPROPERTY、UFUNCTION、UENUM等生成出来的。
相关文章推荐
- 文章标题
- Java调用Hadoop API
- Indy10 即时通讯Demo
- TECHNOLOGY: Oracle ADF Service, Please!
- 求帮看!!!!BZOJ 1014 [JSOI2008]火星人prefix
- js原生弹出框
- CCF 201503-3 节日
- 世界很残酷,交友须谨慎
- 用户登录提交前,密码加密传输
- WPF性能优化经验总结
- Django框架中方法的访问和查找
- [LeetCode][Java] Jump Game
- Android应用开发学习—Toast使用方法大全
- HTML5 HybridApp开发上手指引
- 网站不收录可能是受同服务器上的挂马站牵连
- Microsoft Office Enterprise 2007 在安装过程中出错的解决方法
- 利用case when 减少表扫描次数
- Android include布局文件 使用错误
- 微信app支付,服务端对接
- 深入浅出 Java Concurrency (3): 原子操作 part 2