Artemis ECS中的成员和bit
成员Component Type
背后的目的是什么?TypeBit
SystemBit
Entity
这些是 Artemis ECS 的 git 存储库的一些屏幕截图,它们引用了ComponentType
和Entity
:
为了ComponentType
为了Entity
这是 git 的链接。
查看https://github.com/gemserk/artemis/blob/master/src/com/artemis/EntityManager.java - 在 addComponent 函数。它调用
e.addTypeBit(type.getBit());
还有 removeComponent() 调用:
e.removeTypeBit(type.getBit());
所以它只是实体内部组件的 id。另一个 id 用于收集 EntityManager 中的组件类型。
无论如何,这是一个有点旧的实现。看一下名为artemis-odb的 fork ,它的性能更好,并且正在积极开发。ComponentType也被重构。