一.委托简介
在虚幻引擎中,委托(Delegate)是一种用于事件通知和回调的机制。委托允许将一个或多个函数绑定到特定的事件,并在事件发生时通知这些函数执行相应的操作。下面是虚幻引擎中委托的广播(Broadcast)、绑定(Bind)和回调(Callback)的基本实现流程:
1. 定义委托类型:
在头文件中定义委托类型,通常使用 DECLARE_DELEGATE
或 DECLARE_MULTICAST_DELEGATE
宏。例如:
DECLARE_MULTICAST_DELEGATE_OneParam(FMyDelegate, int32);
2. 创建委托实例:
在需要使用委托的类中创建委托的实例,通常在类的声明部分。例如:
class MyClass
{
public:
FMyDelegate MyDelegate;
};
3. 使用 Handle 追踪连接:
在需要的时候,你可以获取连接的 Handle
,用于后续取消连接。例如:
FDelegateHandle MyHandle = Object.MyDelegate.AddUObject(this, &MyClass::MyFunction);
4. 绑定函数到委托:
在需要监听事件的对象中,将特定函数绑定到委托上