2つのユーザーケースがあります。
- どのようにメッセージを
entity_A送信しtake-damageますentity_Bか? - のHPをどのように
entity_A照会しますentity_Bか?
これまでに遭遇したことがあります:
- メッセージキュー
entity_Atake-damageメッセージを作成し、それをentity_Bのメッセージキューに投稿します。entity_Aquery-hpメッセージを作成してに投稿しentity_Bます。entity_B代わりに、response-hpメッセージを作成してに投稿しentity_Aます。
- パブリッシュ/サブスクライブ
entity_Btake-damageメッセージをサブスクライブします(おそらく、何らかのプリエンプティブフィルタリングを使用して、関連するメッセージのみが配信されます)。 を参照entity_Aするtake-damageメッセージを生成しますentity_B。entity_Aupdate-hpメッセージをサブスクライブします(フィルタリングされる可能性があります)。すべてのフレームがメッセージをentity_Bブロードキャストしupdate-hpます。
- 信号/スロット
- ???
entity_Aupdate-hpスロットをentity_Bのupdate-hp信号に接続します。
もっと良いものはありますか?これらの通信方式がゲームエンジンのエンティティシステムにどのように結び付くのかを正しく理解していますか?