はじめに
「UnityEventDrawerEx」を Unity プロジェクトに導入することで
UnityEvent に登録されている非永続的なリスナーの情報を
Inspector に表示できるようになります
導入方法
https://github.com/mob-sakai/UnityEventDrawerEx/releases
上記のページから「UnityEventDrawerEx.unitypackage」をダウンロードして
Unity プロジェクトにインポートします
使い方
「UnityEventDrawerEx」を Unity プロジェクトに導入すると、
Inspector の UnityEvent の欄に「Show runtime calls」という項目が追加されます
この状態で、
using UnityEngine; using UnityEngine.UI; public class Example : MonoBehaviour { public Button m_button; private void Awake() { m_button.onClick.AddListener( () => print( "ピカチュウ" ) ); m_button.onClick.AddListener( InstanceHandle ); m_button.onClick.AddListener( StaticHandle ); } private void InstanceHandle() { print( "ライチュウ" ); } private static void StaticHandle() { print( "ゴロチュウ" ); } }
上記のような、UnityEvent に非永続的なリスナーを追加するコードを動かすと
このように、UnityEvent に登録されている非永続的なリスナーの情報を
Inspector で確認できるようになります
ラムダ式で登録した場合は、登録処理が記載された関数の名前がわかります
通常の関数を登録した場合は、登録した関数の名前や、
そのスクリプトがアタッチされているゲームオブジェクトがわかります
static な関数を登録した場合は、登録した関数の名前がわかります