动态代理

可以序列化的且支持反射的代理。

Windows
MacOS
Linux

动态代理可以进行序列化,可以通过名称查找它们函数,其执行速度比常规代理慢。

声明动态代理

动态代理的声明方式和声明标准代理一样,只是它们使用针对于动态代理的宏变种。

声明宏

描述

DECLARE_DYNAMIC_DELEGATE[_Const, _RetVal, etc.]( DelegateName )

创建一个动态代理。

DECLARE_DYNAMIC_MULTICAST_DELEGATE[_Const, _RetVal, etc.]( DelegateName )

创建一个动态的多播代理。

DECLARE_DYNAMIC_DELEGATE[_Const, _RetVal, etc.]( DelegateName )

创建一个封装的动态代理。

DECLARE_DYNAMIC_MULTICAST_DELEGATE[_Const, _RetVal, etc.]( DelegateName )

创建一个封装的动态多播代理。

动态代理绑定

辅助宏

描述

BindDynamic( UserObject, FuncName )

在动态代理上调用BindDynamic()的辅助宏。自动生成函数名称字符串。

AddDynamic( UserObject, FuncName )

在动态多播代理上调用AddDynamic()的辅助宏。自动生成函数名称字符串。

RemoveDynamic( UserObject, FuncName )

在动态多播代理上调用RemoveDynamic()的辅助宏。自动生成函数名称字符串。

执行动态代理

[INCLUDE:Programming/UnrealArchitecture/Delegates#ExecutingDelegates]

封装的动态代理

动态代理声明时可以具有一个执行该代理的封装器代理方法。

声明宏

描述

DECLARE_DYNAMIC_DELEGATE[_Const, _RetVal, etc.]( DelegateName )

创建一个封装的动态代理。

DECLARE_DYNAMIC_MULTICAST_DELEGATE[_Const, _RetVal, etc.]( DelegateName )

创建一个封装的动态多播代理。

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见