[Unity]回调函数

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)
{
    //这里处理结果
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值