Version: 2023.1

UnityEvent<T0>

class in UnityEngine.Events

/

继承自:Events.UnityEventBase

切换到手册

描述

UnityEvent 的 one 参数版本。

如果想使用通用 UnityEvent 类型,您必须覆盖类类型。

using UnityEngine;
using UnityEngine.Events;

[System.Serializable] public class MyIntEvent : UnityEvent<int> { }

public class ExampleClass : MonoBehaviour { public MyIntEvent m_MyEvent;

void Start() { if (m_MyEvent == null) m_MyEvent = new MyIntEvent();

m_MyEvent.AddListener(Ping); }

void Update() { if (Input.anyKeyDown &amp;&amp; m_MyEvent != null) { m_MyEvent.Invoke(5); } }

void Ping(int i) { Debug.Log("Ping" + i); } }

Note: UnityEvent can also be awaited in any async method.

继承的成员

公共函数

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提供了对象、函数名称和参数类型列表;找到匹配的方法。