可以与场景一起保存的 zero 参数持久回调。
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 | 提供了对象、函数名称和参数类型列表;找到匹配的方法。 |