虚幻引擎:代理

一、代理类型

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);
}
相关推荐
浩浩乎@21 分钟前
【openGLES】纹理
c++·opengles
叫我龙翔21 分钟前
【设计模式】从游戏角度开始了解设计模式 --- 抽象工厂模式
c++·游戏·设计模式
青草地溪水旁33 分钟前
设计模式(C++)详解—单例模式(1)
c++·单例模式
HMBBLOVEPDX1 小时前
C++(深拷贝和浅拷贝)
开发语言·c++·浅拷贝和深拷贝
UrSpecial2 小时前
Linux线程
linux·开发语言·c++
郝学胜-神的一滴2 小时前
深入浅出 C++20:新特性与实践
开发语言·c++·程序人生·算法·c++20
汉克老师2 小时前
第十四届蓝桥杯青少组C++选拔赛[2023.1.15]第二部分编程题(2 、寻宝石)
c++·蓝桥杯·蓝桥杯c++·c++蓝桥杯·蓝桥杯选拔赛
大锦终2 小时前
【Linux】进程间通信
linux·运维·服务器·c++
闪电麦坤952 小时前
C/C++项目练习:命令行记账本
开发语言·c++
菜就多练,以前是以前,现在是现在3 小时前
Codeforces Round 1048 (Div. 2)
数据结构·c++·算法