ue4-动态代理
- c++ and bp 混合使用动态代理
- 及各种bind
c++ and bp 混合使用动态代理
c++中定义一个动态代理
1
2
3
4
5
6
7
8
9
10
11
12
13DECLARE_DELEGATE_OneParam(FMyDelegate1, int32);
//c++和bp混合使用的代理必须是这种宏,而不是上面那种
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FMyDelegate2, int32, abc);
UCLASS()
class AMyChar : public ACharacter
{
GENERATED_BODY()
public:
//必须声明为BlueprintAssignable,只给蓝图绑定这个代理
UPROPERTY(BlueprintAssignable, Category = "MyChar")
FMyDelegate2 OnMyDelegate2;
};在蓝图中绑定这个代理
起个LibFunc静态方法测试,在c++广播这个代理
1
2
3
4void UMyBpFuncLib::TestBpDelegate(AMyChar * _myChar, int32 _num)
{
_myChar->OnMyDelegate2.Broadcast(_num);
}蓝图中调用这个测试方法
结果
代理的各种bind
1 | //declare |
- 蓝图中的方法