我正在使用c ++进行游戏并正在实施ECS系统。
我有一个类:EntityFactory,用于在向量中创建和存储实体。实体由组件映射组成。当一个系统在做逻辑时,我应该迭代每个实体,然后迭代它的每个组件,还是应该存储包含对每个组件的引用的向量?
我有一个名为“CollisionComponent”的组件。我对如何使用碰撞系统执行碰撞更新感到有些困惑。作为伪代码,我在想这个:
如果我格式化错误,我很抱歉:
foreach(entity)
rect collide = getComponent<CollisionComponent>().bounds
for(loop through every other entity with collision component)
if(rect.intersects(otherEntity)
//do collide logic
我觉得这是完成这项任务的低效方法。
感谢您的帮助!