本文转自Unity Connect博主 郡墙
这是一篇关于 DOTS\ ECS \JobSystem相关的小白转换编程思想
实现游戏实体的传统方式是使用面向对象的编程。每个实体都是一个对象,可以直观地允许基于类的实例化系统,并使实体可以通过多态性扩展其他实体。 这导致了庞大而僵化的类层次结构。随着实体数量的增加,在层次结构中放置新实体变得越来越困难,尤其是在该实体需要大量不同类型的功能的情况下。 举个栗子
需要实现一类怪物为 邪恶的树。在这个编程模式里,不论是继承哪边都会存在设计上的冲突或者冗余。 为了解决这个问题,我们通过组合模式来代替继承的设计来构建实体。实体只是组件的“集合“与上述面向对象的体系结构相比,这具有一些主要优点:
-
便于添加新的复杂实体
-
便于在数据中定义新实体
-
更高效
组件 - Component
组件可以类比 C语言的结构。它没有方法,只能存储数据,不能对其进行操作。在典型的实现中,每种不同的组件类