全称:Entity Component System
一种新的模式(类似MVC是一种思想),取代 GameObject / Component 的模式。
流程:
游戏内每个基本单元都是一个实体。
每个实体由多个组件构成。
每个组件仅包含其所需要的数据。
通过系统来处理多个组件。
优点:
1.逻辑都在System里,指责单一,修改方便。
2.容易扩展,新增Entity后,可以共享现有的System。
3.各层之间耦合度低。
4.效率高,面向数据的设计 , 很容易并行高速处理。
几个基本概念:
1.Entity:
数据容器,代表游戏中某个对象(GameObject)
可以存在很多的 Component,只有数据没有方法。
2.Component:
要在实体中存储的数据
只有数据,是数据的载体,没有逻辑代码。
3.System
处理逻辑,相当于 Update
有多种不同的Systems
2.Group
组件系统运行所需的 Component Data 列表
可以进行快速过滤,保持当前的组中的Entity是最新的。