2つのユーザーケースがあります。
- どのようにメッセージを
entity_A
送信しtake-damage
ますentity_B
か? - のHPをどのように
entity_A
照会しますentity_B
か?
これまでに遭遇したことがあります:
- メッセージキュー
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
信号に接続します。
もっと良いものはありますか?これらの通信方式がゲームエンジンのエンティティシステムにどのように結び付くのかを正しく理解していますか?