我在确定如何处理实体中的状态管理时遇到了一些麻烦。
我对游戏状态管理没有任何麻烦,例如暂停和菜单,因为它们没有作为实体组件系统处理;只是带有实体/组件中的状态。
以“兽人必须死”为例,我有MainCharacter和Trap实体,它们只有诸如PositionComponent,RenderComponent和PhysicsComponent之类的组件。
在每次更新时,实体都会调用其组件的更新。我也有一个通用的EventManager,带有用于不同事件类型的侦听器。
现在,我需要能够放置陷阱:首先选择陷阱和陷阱位置,然后放置陷阱。
放置陷阱时,它应该出现在MainCharacter的前面,以不同的方式呈现并跟随它。放置后,它应仅响应碰撞并以常规方式进行渲染。
通常在基于组件的系统中如何处理?
(此示例是特定的,但可以帮助您确定处理实体状态的一般方法。)