UEC++中委托事件(代理)的简单使用

UEC++中委托事件(代理)的简单使用

//在头文件中声明并创建好委托
//定义并声明委托
DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(Mydelege, AActor*,Instigator,UMyComponent*,OwningPawn,  float, NewHealth, float, Delta);//四个参数的委托,区别是最后一个FourParams,几个参数就用字母几,例如1一个参数就换成OneParams

FUNCTION(BlueprintAssignable)//将委托暴露到蓝图中
Mydelege myRealDelege;//第一个参数就是委托定义,再用这个定义声明一个真正的委托!




//在特定的情况下
//委托订阅函数
myRealDelege.AddDynamic(this, &AMyTargetDumy::someFunction);//订阅动态函数就是非static的函数


//委托触发函数
myRealDelege.Broadcast(nullptr, this, health, Delta);//要把参数都和定义的时候填写完整

关于AddDynamic函数的解释:

AddDynamic(Object,Function)

Function好理解,就是这个委托要触发的函数

Object一般是包含这个函数的类实例。如果在本类中订阅,用this表示当前类实例的指针就行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值