unity UniAction 示例代码
时间: 2023-07-03 19:11:06 浏览: 42
UniAction是一种常用的Unity事件系统,它可以让你轻松地将方法绑定到事件上,以下是一个UniAction的示例代码:
```csharp
using UnityEngine;
using UnityEngine.UI;
public class UniActionExample : MonoBehaviour
{
public Button button;
public Text text;
private UniAction<string> myAction;
private void Start()
{
// 创建一个UniAction
myAction = new UniAction<string>();
// 绑定一个方法到事件上
myAction += OnMyAction;
// 在按钮点击事件中触发UniAction
button.onClick.AddListener(() => {
myAction.Invoke("Hello, UniAction!");
});
}
private void OnDestroy()
{
// 解绑方法
myAction -= OnMyAction;
}
private void OnMyAction(string message)
{
text.text = message;
}
}
```
在以上代码中,我们首先创建了一个UniAction对象myAction,并将一个方法OnMyAction绑定到了这个事件上。然后,在按钮点击事件中,我们触发了myAction事件,并向这个事件传递了一个字符串参数。在OnMyAction方法中,我们将这个字符串显示在了UI Text组件上。
需要注意的是,在对象销毁时,我们需要解绑已经绑定到事件上的方法,以避免引用异常。