A zero argument persistent callback that can be saved with the Scene.
using UnityEngine; using UnityEngine.Events; using System.Collections;
public class ExampleClass : MonoBehaviour { UnityEvent m_MyEvent;
void Start() { if (m_MyEvent == null) m_MyEvent = new UnityEvent();
m_MyEvent.AddListener(Ping); }
void Update() { if (Input.anyKeyDown && m_MyEvent != null) { m_MyEvent.Invoke(); } }
void Ping() { Debug.Log("Ping"); } }
Note: UnityEvent can also be awaited in any async method.
UnityEvent | コンストラクター |
AddListener | UnityEvent に非永続的なリスナーを追加します |
Invoke | 登録されているすべての(ランタイムと永続的な)コールバックを実行します |
RemoveListener | Remove a non persistent listener from the UnityEvent. If you have added the same listener multiple times, this method will remove all occurrences of it. |
GetPersistentEventCount | 登録されている永続的なリスナーの数を取得します |
GetPersistentListenerState | Returns the execution state of a persistent listener. |
GetPersistentMethodName | インデックスから対象のリスナーのメソッド名を取得します |
GetPersistentTarget | インデックスから対象のリスナーのコンポーネントを取得します |
RemoveAllListeners | Remove all non-persistent (ie created from script) listeners from the event. |
SetPersistentListenerState | 永続的なリスナーの実行状態を変更します |
GetValidMethodInfo | オブジェクト、メソッド名、引数の型のリストからマッチするメソッドを探します |