EntityX
https://github.com/alecthomas/entityx
一个ECS框架的开源实现。代码已经通读完成。
entity实体本身只有一个index和version数据,它本身相当于一个标识符,表示了pool中相应的component。通过模板和pool,让entity可以进行各种类型的assign。
【我对代码中pool和entitymanager进行了修改,支持了指针的直接访问,避免assign组件必须new一个新的实体这样的尴尬】
我觉得entityx的实现非常好。但是我无法应用这些功能,我无法理解怎样的设计框架下,才能发挥ecs这样设计模式的作用。
我根据实际项目的需要,自己实现了一个msgpack,将entity当做一个参数绑定标识来用。至于其中的system和event,还未找到合适的使用场景。