我有两个用户案例:
- 如何将
entity_A发送take-damage消息entity_B? - 如何
entity_A查询entity_B的HP?
到目前为止,这是我遇到的情况:
- 消息队列
entity_A创建一条take-damage消息并将其发布到entity_B的消息队列中。entity_A创建一条query-hp消息并将其发布到entity_B。entity_B作为回报,创建一条response-hp消息并将其发布到entity_A。
- 发布/订阅
entity_B订阅take-damage消息(可能具有一些抢先过滤功能,因此仅传递相关消息)。entity_A产生take-damage引用消息entity_B。entity_A订阅update-hp消息(可能已过滤)。每个帧都entity_B广播update-hp消息。
- 信号/插槽
- ???
entity_A将update-hp插槽连接到entity_B的update-hp信号。
有更好的东西吗?我对这些通信方案如何与游戏引擎的实体系统联系起来有正确的理解吗?