道具使用 UObject 还是 UStruct
尽管 C++ 本身视 class 和 struct 都为类类型,区别只在默认访问修饰符(class 默认为 private,struct 默认为 public)。但在虚幻引擎中却有所不同,UObject 使用 class 作为类类型的修饰符,而 UStruct 使用 struct 作为类类型的修饰符(请注意这里没有讨论 Slate 相关的类体系结构),就会在反射机制、网络复制方面产生不同的区分,本博文在构建道具类型的基础下,讨论以下内容: 如何维护它们的生命周期; 如何在网络中复制它们。 物品的信息在绝大多数情况下,物品信息可以用一个结构体来定义(C++中需要派生自 FTableRowBase),然后定义基于该结构体的 DataTable,这种方式不仅可以实现统一的数据管理,还允许从外界来修改物品信息,..
继续阅读