デリゲート(Delegate)

【概要】

 :あるオブジェクトが別のオブジェクトに対してイベントを通知するための仕組みのこと。

 :例えば、キャラクターの衝突、ボタンのクリック、タイマーの終了などを効率的に処理する。

【詳細1】

 ・イベント通知
  :特定のイベントが発生したときに、デリゲートを使用して他のオブジェクトに通知する。

 ・一対多の関係
  :一つのデリゲートに対して複数のリスナーを登録できる。つまり、一つのイベントが発生すると、すべてのリスナーが通知を受け取れる。

【詳細2】

 ・シンプルデリゲート
  (Simple Delegate)
   :引数を取らずに通知するデリゲート。

 ・シングルキャストデリゲート
  (Single Cast Delegate)
   :一つのリスナーのみを持つデリゲート。

 ・マルチキャストデリゲート
  (Multicast Delegate)
   :複数のリスナーを持つことができるデリゲート。

【例】

 ・ボタンのクリックイベント

  1)デリゲートの宣言
    :ブループリントに「OnButtonClicked」という名前のデリゲートを宣言する。

  2)デリゲートのバインド
    :UIボタンをクリックしたときに「OnButtonClicked」デリゲートを呼び出す設定をする。
    :ボタンのクリックイベントで「Assign OnButtonClicked」ノードを使用する。

  3)デリゲートのハンドリング
    :「OnButtonClicked」デリゲートに応答するイベントハンドラを作成する。このハンドラ内で、ボタンがクリックされたときの処理を定義する。