9- UE4代理(多播代理)
9. UE4代理(多播代理)
多播代理相比于单播代理,可以绑定多个函数,执行时也是执行多个函数。
但注意:多播代理不保证函数的执行顺序。
1. 代理类型的声明
代理在被使用以创建变量之前应该被声明:
-
返回值:多播代理不存在返回值
-
参数:有几个参数,以及相应参数类型
-
命名:代理的名字
// 多播代理 |
2. 代理的创建
多播代理使用Addxxx
的方法添加绑定。
下面是绑定的函数说明,绑定方法与单播代理一致:
-
绑定Lambda:
AddLambda
-
绑定原生C++类函数:
AddRaw
-
绑定共享指针:
AddSP
-
绑定线程安全共享指针:
AddThreadSafeSP
-
绑定静态函数:
AddStatic
-
绑定UFUNCTION:
AddUFunction
-
绑定UObject:
AddUObject
3. 调用代理绑定的对象(Execute)
使用Execute
调用绑定的对象:
if(DelegateTwoParamsRetVal.IsBound()) |
无参代理的新方法
DECLARE_DELEGATE.ExecuteIfBound(); //无参数执行 |
发布于