UE学习记录07----C++中使用事件委托

1.c++定义多播委托,示例代码:

#include "Delegates/Delegate.h"

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FMyDelegate,  UObject*, SelectAgent);

/**
 *
 */
UCLASS(Blueprintable, DisplayName = "VM_PlaceEntity")
class PR_PLACEENTITY_MODEL_API UVM_PlaceEntity : public UMVVMViewModelBase
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintReadWrite, FieldNotify, Setter, Getter)
	UObject* SelectAgent;

	UPROPERTY(BlueprintAssignable, Category = "VM_PlaceEntity")
	FMyDelegate MulticastDelegate_SelectAgent;

private:
	void SetSelectAgent(UObject* Value) { UE_MVVM_SET_PROPERTY_VALUE(SelectAgent, Value); MulticastDelegate_SelectAgent.Broadcast(Value); }
	UObject* GetSelectAgent() const { return SelectAgent; }

};

2. 蓝图使用

UE学习记录07----C++中使用事件委托_第1张图片

你可能感兴趣的:(UE,ue5)