littlewing

人間とコンピューターとメディアの接点をデザインするために考えたこと

Unity EventをInspector上で登録できるようにする

説明用にメモ

public なUnityEventを作成すると、Inspector上で、イベント内容を登録できるようになる

using UnityEngine;
using UnityEngine.Events;

public class Hoge: MonoBehaviour{

        public UnityEvent onInitialized;

}

f:id:pigshape:20171215164816p:plain

このイベントはどこかで初期化しておく必要がある。

void Start(){
            if (onInitialized == null)
                onInitialized = new UnityEvent ();
}

イベントの呼び出しはInvokeを利用する

//イベントを発火する
if (onInitialized != null)
    onInitialized.Invoke ();