虚幻引擎:代理

一、代理类型

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);
}
相关推荐
程序员龙一10 小时前
C++之static_cast关键字
开发语言·c++·static_cast
奶茶树10 小时前
【C++/STL】map和multimap的使用
开发语言·c++·stl
云知谷11 小时前
【C/C++基本功】C/C++江湖风云录:void* 的江湖传说
c语言·开发语言·c++·软件工程·团队开发
ShineWinsu12 小时前
对于数据结构:堆的超详细保姆级解析—上
数据结构·c++·算法·计算机·二叉树·顺序表·
im_AMBER12 小时前
Leetcode 46
c语言·c++·笔记·学习·算法·leetcode
QX_hao13 小时前
【Go】--文件和目录的操作
开发语言·c++·golang
卡提西亚13 小时前
C++笔记-20-对象特性
开发语言·c++·笔记
三掌柜66614 小时前
C++ 零基础入门与冒泡排序深度实现
java·开发语言·c++
沐怡旸14 小时前
【穿越Effective C++】条款15:在资源管理类中提供对原始资源的访问——封装与兼容性的平衡艺术
c++·面试
利刃大大15 小时前
【高并发服务器:HTTP应用】十五、HttpRequest请求模块 && HttpResponse响应模块设计
服务器·c++·http·项目