【Unity】UnityEventクラスを使ってコールバックを実装する

スポンサーリンク

はじめに

UnityEventクラスを使用すると簡単にコールバック機能を実装することができます。さらにInspectorでコールバックを登録できるようになるのでかなり便利です。今回はUnityEventクラスを使ってコールバックを実装する方法を紹介します。

UnityEventクラスを使ってコールバックを実装する

スクリプトは下記のようになります。
基本的にUnityEventをメンバ変数で定義して、コールバックを呼び出したい箇所でInvokeするだけです。


using UnityEngine;
using UnityEngine.Events;

public class Sample : MonoBehaviour
{
    [SerializeField]
    private UnityEvent OnMoved;

    private void Move()
    {
        Debug.Log("Move");

        if (this.OnMoved != null)
        {
            this.OnMoved.Invoke();
        }
    }
}

上記のスクリプトをGameObjectに追加すると、Inspectorに下記のように表示されます。あとはButtonクラスのOnClickみたいに呼び出したいコールバック関数を追加します。

このクラスは便利なので、今後はもっと活用していこうと思います。

検証環境

Windows 10 Pro
Unity 2018.2.7f1

スポンサーリンク

シェアする

フォローする