UnityEngine.Events 中的类
/
/
一个零参数持久回调,可以与场景一起保存。
using UnityEngine; using UnityEngine.Events;
public class ExampleClass : MonoBehaviour { UnityEvent m_MyEvent;
void Start() { if (m_MyEvent == null) m_MyEvent = new UnityEvent();
m_MyEvent.AddListener(DoSomething); }
void Update() { if (Input.anyKeyDown && m_MyEvent != null) { m_MyEvent.Invoke(); } }
void DoSomething() { Debug.Log("Callback called"); } }
注意:UnityEvent 也可以在任何异步方法中等待。
UnityEvent | 构造函数。 |
AddListener | 向 UnityEvent 添加一个非持久监听器。 |
Invoke | 调用所有注册的回调(运行时和持久)。 |
RemoveListener | 从 UnityEvent 中删除一个非持久监听器。如果您多次添加了同一个监听器,此方法将删除所有出现的监听器。 |
GetPersistentEventCount | 获取已注册的持久监听器的数量。 |
GetPersistentListenerState | 返回持久监听器的执行状态。 |
GetPersistentMethodName | 获取索引为 index 的监听器的目标方法名称。 |
GetPersistentTarget | 获取索引为 index 的监听器的目标组件。 |
RemoveAllListeners | 从事件中删除所有非持久(即从脚本创建的)监听器。 |
SetPersistentListenerState | 修改持久监听器的执行状态。 |
GetValidMethodInfo | 给定一个对象、函数名和一个参数类型列表;找到匹配的方法。 |