UnityEvent 的 four 参数版本。
如果想使用通用 UnityEvent 类型,您必须覆盖类类型。
using UnityEngine; using UnityEngine.Events;
[System.Serializable] public class MyIntEvent : UnityEvent<int, 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 && m_MyEvent != null) { m_MyEvent.Invoke(5, 6, 7, 8); } }
void Ping(int i, int j, int k, int l) { Debug.Log("Ping" + i + j + k + l); } }
GetPersistentEventCount | 获取已注册的持久性监听器的数量。 |
GetPersistentMethodName | 获取索引处的监听器的目标方法名称。 |
GetPersistentTarget | 获取索引处的监听器的目标组件。 |
RemoveAllListeners | 从事件中删除所有非持久性(即通过脚本创建的)监听器。 |
SetPersistentListenerState | 修改持久性监听器的执行状态。 |
GetValidMethodInfo | 提供了对象、函数名称和参数类型列表;找到匹配的方法。 |