UE4的Event模式

Event模式概括的说分三部分:

1.全局唯一的Event对象本身,可以统一放置也可以分散在各个模块

2.注册侦听特定Event的回调

3.触发特定Event

 

UE4的Event是用MultcastDelegate实现,蓝图常用的有三种实现方式:

1.C++ + 蓝图:

//声明动态MulticastDelegate,否则蓝图无法识别

DECLARE_DYNAMIC_DELEGATE_OneParam(FEventOneParam, FString, Param1);
UPROPERTY()
        FMultiDelegateOneParam MultiDelegate;
UFUNCTION(BlueprintCallable)
	void RegisterEvent(UPARAM(DisplayName = "Event") FEventOneParam InEvent);
 
UFUNCTION(BlueprintCallable)
	void TriggerEvent(FString InParam);

2.C++ + 蓝图:

DECLARE_DYNAMIC_DELEGATE_OneParam(FEventOneParam, FString, Param1);

 //BlueprintAssignable会向蓝图暴露该Event,直接在蓝图逻辑层对该Event侦听或者触发

UPROPERTY(BlueprintAssignable)
        FMultiDelegateOneParam MultiDelegate;

3.纯蓝图(好处是可以热更新)

EventDispatcher

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值