虚幻引擎:代理

一、代理类型

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);
}
相关推荐
【 】42320 分钟前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
一只牛_00732 分钟前
pthread亲和性继承的一个坑:main绑核让整个进程退化到单核
c++
张健11564096481 小时前
C++访问控制与友元
java·开发语言·c++
BirdenT2 小时前
20260424紫题训练
c++·算法
还是阿落呀2 小时前
基本控制结构
开发语言·c++·算法
样例过了就是过了2 小时前
LeetCode热题100 最长有效括号
c++·算法·leetcode·动态规划
南境十里·墨染春水2 小时前
C++笔记 forward完美转发
开发语言·c++·笔记
吃着火锅x唱着歌3 小时前
深度探索C++对象模型 学习笔记 第四章 Function语意学(2)
c++·笔记·学习
一行代码一行诗++3 小时前
C语言中if的使用
c语言·c++·算法
c++之路3 小时前
C++ STL
java·开发语言·c++