ECS是Entity-Component-System的缩写,Wiki:Entity-Component-System,ECS模型遵循Composition over inheritance的原则。这是守望先锋程序团队在GDC上的ECS架构与网络同步分享以及知乎关于OW的ECS架构以及ECS模型本身的讨论,关于游戏架构设计上使用ECS的好处以及ECS模型相对于传统OOP的优越性在上述文章中都可以找到,以下是个人的学习笔记。
- Entity : 无数据无逻辑,单纯是一个实例,拥有若干Component
- Component:只有数据没有逻辑,可以被Entity动态添加和移除
- System:只有逻辑,只关心Component不关心Entity
- World:缓存所有Entity与Component,并对System进行轮询,负责整个系统的运转
简单的例子:
Entity