在 Unity 中,常用的 UnityEngine.Events 中的几个重要的事件处理函数包括:
-  UnityEvent - UnityEvent是 Unity 提供的一种事件系统,可以用来实现脚本与场景中的对象之间的互动。它可以用来定义和响应事件,如按钮点击、物体碰撞等。
- 示例用法: using UnityEngine; using UnityEngine.Events;public class ExampleScript : MonoBehaviour {public UnityEvent onTriggerEnterEvent;void OnTriggerEnter(Collider other){// 触发事件onTriggerEnterEvent.Invoke();} }
- 在上面的示例中,onTriggerEnterEvent是一个UnityEvent,当物体进入触发器时,调用Invoke()方法触发事件。
 
-  UnityAction - UnityAction是一个委托类型,用于表示不带参数的回调函数。通常与- UnityEvent配合使用,作为事件响应的具体函数。
- 示例用法: using UnityEngine; using UnityEngine.Events;public class ButtonClickHandler : MonoBehaviour {public UnityEvent onClickEvent;void Start(){// 添加事件监听onClickEvent.AddListener(OnClick);}void OnClick(){Debug.Log("Button Clicked!");} }
- 在这个例子中,onClickEvent是一个UnityEvent,OnClick()是一个UnityAction,通过AddListener()将OnClick方法添加为onClickEvent的监听器。
 
-  UnityEvent<T> - UnityEvent<T>是泛型版本的- UnityEvent,用于传递一个参数的事件。
- 示例用法: using UnityEngine; using UnityEngine.Events;public class DamageEvent : MonoBehaviour {public UnityEvent<float> onTakeDamageEvent;void TakeDamage(float amount){// 触发事件并传递参数onTakeDamageEvent.Invoke(amount);} }
- 在这个例子中,onTakeDamageEvent是一个接受float参数的事件,当调用TakeDamage(float amount)方法时,通过Invoke(amount)触发事件并传递参数。