Version: 2023.1

UnityEvent

class in UnityEngine.Events

/

继承自:Events.UnityEventBase

切换到手册

描述

可以与场景一起保存的 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调用所有已注册的回调(运行时和持久性)。
RemoveListenerRemove 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获取已注册的持久性监听器的数量。
GetPersistentListenerStateReturns the execution state of a persistent listener.
GetPersistentMethodName获取索引处的监听器的目标方法名称。
GetPersistentTarget获取索引处的监听器的目标组件。
RemoveAllListenersRemove all non-persistent (ie created from script) listeners from the event.
SetPersistentListenerState修改持久性监听器的执行状态。

静态函数

GetValidMethodInfo提供了对象、函数名称和参数类型列表;找到匹配的方法。