Unityでdelegateを使用する

2020年7月24日  2020年7月24日 
Unityでdelegateを何度か使ったことがあるのですが、よく書き方を忘れるのでメモしておきます。


Unityでdelegateを使用する

Unityでdelegateを使用する場合は下記のように記述します。
複数のdelegateを登録して、マルチキャストすることもできます。
using UnityEngine;

public class DelegateSample : MonoBehaviour
{
	// delegateの宣言
    public delegate void OnComplete();
    public OnComplete onComplete;

    void Start()
    {
        // delegateを追加する。
        this.onComplete += Close1;
        this.onComplete += Close2;
        this.onComplete += Close3;

        // delegateを実行する。
        if (this.onComplete != null)
            this.onComplete();

        // delegateを削除する。
        this.onComplete -= Close1;
        this.onComplete -= Close2;
        this.onComplete -= Close3;
    }

    private void Close1()
    {
        Debug.Log("Close 1");
    }

    private void Close2()
    {
        Debug.Log("Close 2");
    }

    private void Close3()
    {
        Debug.Log("Close 3");
    }
}

今は呼び出し先のメソッド内で呼び出し元の処理を呼びたいときとかに使っているんですが、他にももっと使いみちがありそうな気がしています。
今後はもっとdelegateを有効に活用していきたいですね。

環境

Windows 10 Pro
Unity 2019.4


ー記事をシェアするー
B!
タグ

コメント

このブログを検索

自己紹介

自分の写真
yayao
Unityを使って、モバイルゲームを作っています。
人気の投稿