我的基于组件的游戏引擎的抽象实现GameObject
如下:
游戏对象
- 唯一身份
- isActive 标志
- 组件数组
我一直在阅读有关基于组件的设计,引起我注意的一件事是由于缓存,数组的线性遍历很快,所以这让我决定使用基本数组来保存实体/游戏对象。
现在引起我注意的另一件事是一些资源将组件与游戏对象分开。相反,他们所做的是在实体管理器中放置一个地图。该地图将游戏对象作为键,将一组组件作为值。在这种情况下,AGameObject
只有一个 ID。
将游戏对象附加到组件而不是在类中包含组件是否有优势(性能和/或设计方面)GameObject
?
另外,GameObject
s 会从一个Pool
对象中池化(回收),以避免频繁的内存分配。