ECS:Entitas 源码浅析 类图
发表于2019-12-12
Entitas的代码不复杂,一张类图看全
IContext:管理Entity和Group的生命周期,1.Context<TEntity>和Entity是1:N的关系。2.Entity对象池管理,3.可监听Entity改变事件
ICompone:ECS里面的C,纯粹的数据体
IEntity:ECS里面的E,组合一组ICompone。1.Entity通过Context创建,2.内部有引用计数机制,3.可以监听组件的改变。
IGroup:管理着一组IEntity,而这里面的组是由IMatcher匹配器的规则筛选出来的,并且是实际存储在Group里面的。
IMatcher:匹配器,基于简单的规则过滤E,起到查询的作用
ICollector:采集器,按照指定规则,采集Entity,例如Added,Removed,AddedOrRemoved。这个一般跟IReactiveSystem结合使用。
ISystem:ECS里面的S,逻辑单元