我有两个用户案例:
- 如何将
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
信号。
有更好的东西吗?我对这些通信方案如何与游戏引擎的实体系统联系起来有正确的理解吗?