イベントディスパッチャー(Event Dispatcher)

【概要】

 :あるオブジェクトが他のオブジェクトにイベントを通知する仕組みのこと。

 :異なるブループリント間での通信や、特定の条件が満たされたときのイベント処理を行うことができる。

【例】

 ・キャラクターの
  ヘルス変更イベント

  1)キャラクター
    ブループリントの開く

  2)OnHealthChanged
    イベントディスパッチャー
    を追加する
    :「Event Dispatchers」 >「Add Event Dispatcher」を選択する。ここでは、仮に「OnHealthChanged」と命名する。

  3)HUDブループリントを開く

  4)バインドノードを設定する
    ・イベントグラフで「Begin Play」イベントを追加する。
     :「Bind Event to OnHealthChanged」ノードを使用して、キャラクターブループリントの「OnHealthChanged」イベントディスパッチャーにバインドする。

    ・新しいカスタムイベント(例:UpdateHealthDisplay)を作成する。
     :「Bind Event to OnHealthChanged」ノードの出力に接続する。
     
  5)キャラクター
    ブループリントで
    ヘルス変更処理を実装する

    :ヘルスが変更されるロジック内で「Call OnHealthChanged」ノードを使用してイベントをブロードキャストする。例えば、ヘルスが減少したときにこのノードを呼び出す。

  6)HUDブループリントで
    イベントハンドラの実装
    :「UpdateHealthDisplay」イベントで、HUDのヘルス表示を更新するロジックを実装する。