虚幻引擎:代理

一、代理类型

1.单薄代理

特点:允许有返回值,允许有参数,只可以一对一的传递消息就算绑定多个,但是总会被最后一个覆盖

2.多播代理

特点:不允许有返回值,允许有参数允许一对多传递消息

3.动态代理

特点:声明的类型必须以F开头,结尾必须加分号 只能绑定在UFUNCITION标记的函数上

单播 可以作为参数通过蓝图传递

多播 不允许作为参数通过蓝图传递

二、代理的使用

以单播为例

cpp 复制代码
//声明代理对象
DECLARE_DELEGATE(DelCBo1)
//创建代理对象
DelCBo1 Enevnt;
//绑定代理对象:在需要使用的地方绑定

代理存在组件->Enevnt.AddUObject(this,&UPackageUserWidget::AddItem);
 解除绑定  代理存在组件->OnAddItemToPackage.UnBind(this);

//执行代理回调
if(Enevnt.IsBound())
{
	Enevnt.Execute(temp);
}
相关推荐
恒者走天下15 分钟前
c++ cpp项目面经分享
c++
烟锁池塘柳016 分钟前
C++程序脱离环境运行:详解OpenCV动态库依赖部署 (Deployment)
c++·opencv·webpack
_风华ts30 分钟前
虚幻引擎碰撞相关的属性
游戏引擎·虚幻·collision
zhangzhangkeji30 分钟前
UE5 C++(23-4):静态加载资源类 FOBject(Class)Finder,与动态加载资源类 LoadObject(Class) 的区别
ue5
被制作时长两年半的个人练习生39 分钟前
首尾元素相同的间隔循环策略
c++·笔记·循环·ptx
千里马-horse1 小时前
React Native bridging 源码分析--ClassTest.cpp
javascript·c++·react native·react.js·bridging
三月微暖寻春笋1 小时前
【和春笋一起学C++】(五十三)使用指向对象的指针
c++·初始化·指向对象的指针
又见野草1 小时前
C++入门基础(初阶)
开发语言·c++
Yu_Lijing1 小时前
基于C++的《Head First设计模式》笔记——命令模式
c++·笔记·设计模式
艾莉丝努力练剑2 小时前
【QT】环境搭建收尾:认识Qt Creator
运维·开发语言·c++·人工智能·qt·qt creator·qt5