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

【概要】

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

 :異なるブループリント(以下、BP)間の通信や、特定の条件が満たされた際のイベント処理を設定することができる。

【例】

キャラクターのヘルス変更

 1)キャラクターBPを開く

 2)イベントディスパッチャー
   を追加する

  :「Event Dispatchers」
   >「Add Event Dispatcher」
    を選択する。

  (仮に「OnHealthChanged」という名前のイベントディスパッチャーを作成する。)

 
 3)HUD BP を開く

 4)バインドノードを設定する

  :イベントグラフで、
   「Begin Play」を追加する。

  :「Bind Event to
    OnHealthChanged」
    というノードを使用して、
   
    キャラクターBP の
   「OnHealthChanged」
    とバインド(紐付)する。
 

 5 )新しいカスタムイベント
   を作成する。

   
  (仮に「UpdateHealth」
   というイベントを作成する)

   :作成したイベントを
    「Bind Event to
      OnHealthChanged」
     ノードの出力に接続。
 
    
 6 )キャラクターBPで
   ヘルス変更の処理を書く


  :「Call OnHealthChanged」
   で、イベントを呼び出す。

  (例えば、ヘルスが減少したときにこのノードを呼び出す処理を書く。)


 7 )HUDブループリントで
   イベントハンドラを実装する

  (例えば、「UpdateHealth」で、HUDのヘルス表示を更新する)