虚幻引擎:代理

一、代理类型

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);
}
相关推荐
clint45611 小时前
C++进阶(1)——前景提要
c++
夜悊15 小时前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴16 小时前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0011 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾1 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
один but you1 天前
constexpr函数
c++
凡人叶枫1 天前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫1 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
小胖xiaopangss1 天前
BRpc使用
c++·rpc
-森屿安年-2 天前
63. 不同路径 II
c++·算法·动态规划