系统管理者, ecs本身要处理的是遍历, 遍历结构处理事情。 而不同的场景要处理的事务是不一样的, 所以系统是要动态增加或者减少的。
而实体代表着一个真正的对象, 对象本身是复杂的, 拥有多种属性的。但系统的不同,导致对象在不同的世界产生不同的样貌。
所以对象的集合不能放到系统中,系统只能在处理的时候遍历当前他想要的对象。(对象的创建,系统可能并没有创建成功,当系统变动的时候,更新对象列表, 而对象的增减都要通知系统, 这样系统其实额外增加了复杂度, 而在一个正常的世界中, 对象的增减是普遍的, 效率考虑)。
而渲染层面的处理应该在系统等事情都处理完毕之后调用,因为这里只是绘制, 跟本身逻辑并无关系。
ecs只用于逻辑层面。
对象应该有个管理者,用于管理对象的创建,或者每种entity应该有自己的创建方法,并有对应的获取方法。(其实放到一处, 系统遍历方便)。