Version: 2020.3

UnityEvent<T0,T1,T2>

class in UnityEngine.Events

/

继承自:Events.UnityEventBase

切换到手册

描述

UnityEvent 的 three 参数版本。

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

using UnityEngine;
using UnityEngine.Events;

[System.Serializable] public class MyIntEvent : UnityEvent<int, int, 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, 6, 7); } }

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

继承的成员

公共函数

GetPersistentEventCount获取已注册的持久性监听器的数量。
GetPersistentMethodName获取索引处的监听器的目标方法名称。
GetPersistentTarget获取索引处的监听器的目标组件。
RemoveAllListeners从事件中删除所有非持久性(即通过脚本创建的)监听器。
SetPersistentListenerState修改持久性监听器的执行状态。

静态函数

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