1.在类中定义函数类型
public delegate void CallBack();//无参数
public delegate void CallBack(int a);//有参数
2.设置变量和函数
//在类中定义变量
private CallBack callFun=null;
.........
//定义函数
public void SetCallBack(CallBack call)
{
callFun=call
}
int a=0;
//使用前判断一下可不可用
if(callFun!=null)
{
callFun();//无参数
//callFun(a);//有参数
}
@2023.4.14 添加:自定义回调事件
using UnityEngine.Events;
//添加自定义回调事件,回调类型bool(回调类型可以修改为任意类、枚举等)
//一定要带上[System.Serializable],这样在面板上也能直接添加
[System.Serializable]
public class InitEvent : UnityEvent<bool>
{
}
//定义回调变量在类中,名字谁便取
public InitEvent gEvent = new InitEvent();
//使用,使用Invoke主动回调,设置结果为true
gEvent.Invoke(true);
//在其他类中
gEvent.AddListener(OnInited);
void OnInited(bool init)
{
//这里处理结果
}