虚幻引擎5 GAS开发俯视角RPG游戏 P06-29 属性信息委托
1.在BroadcastInitialValues函数里,我们把属性集里的属性广播出去
(1)建立动态多播委托:
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAttributeInfoSignature, const FAttributeInfo&, Info);
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, Category="CC|GAS|Attributes")FOnAttributeInfoSignature OnAttributeInfoSignature;(2)创建一个出数据资产:
protected:UPROPERTY(EditDefaultsOnly, Category="CC|GAS|Attributes")TObjectPtr<UCC_AttributeInfo> AttributeInfo;
2.当Info里的标签等于Attributes_Primary_Strength时,我们把Strength值赋值给Info.Value
void UCC_AttributeMenuWidgetController::BroadcastInitialValues()
{if (CC_AttributeSet == nullptr){CC_AttributeSet = CastChecked<UCC_AttributeSet>(AttributeSet);}checkf(AttributeInfo, TEXT("在[%s]中没有配置AttributeInfo"), *GetNameSafe(this));FAttributeInfo Info = AttributeInfo->FindAttributeInfoFromTag(CC_GameplayTags::Attributes_Primary_Strength);Info.AttributeValue = CC_AttributeSet->GetStrength();OnAttributeInfoSignature.Broadcast(Info);
}3.配置资产:

4.调用函数:
Source/CC_Aura/Public/UI/WidgetController/CC_WidgetController.h:


5.



效果:
力量出来了

