虚幻引擎:代理

一、代理类型

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);
}
相关推荐
CoderCodingNo2 小时前
【GESP】C++五级练习题 luogu-P1182 数列分段 Section II
开发语言·c++·算法
Qt学视觉3 小时前
AI2-Paddle环境搭建
c++·人工智能·python·opencv·paddle
myloveasuka5 小时前
C++进阶:利用作用域解析运算符 :: 突破多态与变量隐藏
开发语言·c++
keep intensify5 小时前
康复训练 5
linux·c++
0 0 05 小时前
CCF-CSP 38-4 月票发行【C++】考点:动态规划DP+矩阵快速幂
c++·算法·动态规划·矩阵快速幂
OxyTheCrack5 小时前
【C++】详细拆解std::mutex的底层原理
linux·开发语言·c++·笔记
j_xxx404_6 小时前
力扣困难算法精解:串联所有单词的子串与最小覆盖子串
java·开发语言·c++·算法·leetcode·哈希算法
筱砚.7 小时前
C++——lambda
开发语言·c++·算法
sycmancia8 小时前
C++——动态内存分配、关于虚函数、关于继承中的强制类型转换
开发语言·c++
样例过了就是过了9 小时前
LeetCode热题100 路径总和 III
数据结构·c++·算法·leetcode·链表