using UnityEngine;
using UnityEngine.UI;
public class TestCtrl : MonoBehaviour
{
/// <summary>
/// 定义一个委托
/// </summary>
public delegate void Xian();
/// <summary>
/// 给委托绑定一个事件
/// </summary>
public static event Xian Xian1;
public Button btn;
void Start()
{
btn.onClick.AddListener(OnBtn);
}
private void OnBtn()
{
//点击按钮调用事件
Xian1();
}
}
实现事件
using UnityEngine;
public class TestCtrl2 : MonoBehaviour
{
void Awake()
{
//注册事件
TestCtrl.Xian1 += Xian;
}
public void Xian()
{
Debug.Log("xian222" + gameObject.name);
}
private void OnDisable()
{
//注销事件
TestCtrl.Xian1 -= Xian;
}
}