虚幻引擎5 GAS开发俯视角RPG游戏 P06-29 属性信息委托

1.在BroadcastInitialValues函数里,我们把属性集里的属性广播出去

(1)建立动态多播委托:

cpp 复制代码
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAttributeInfoSignature, const FAttributeInfo&, Info);
cpp 复制代码
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, Category="CC|GAS|Attributes")
	FOnAttributeInfoSignature OnAttributeInfoSignature;
	

(2)创建一个出数据资产:

cpp 复制代码
protected:
	UPROPERTY(EditDefaultsOnly, Category="CC|GAS|Attributes")
	TObjectPtr<UCC_AttributeInfo> AttributeInfo;

2.当Info里的标签等于Attributes_Primary_Strength时,我们把Strength值赋值给Info.Value

cpp 复制代码
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:

效果:

力量出来了

相关推荐
dialect_3 小时前
KMP算法
开发语言·c++·算法
ShineWinsu5 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
傲世仙尊5 小时前
多态-虚表才活到运行期符号表早已消失
c++
chenbingjie_c6 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
是main不是漫6 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
·present·6 小时前
CSAPP(Bomb lab)
c语言·c++
王老师青少年编程6 小时前
2026年信奥赛c++普及组csp-j第二轮复赛真题
c++·真题·csp·信奥赛
时间的拾荒人7 小时前
CMake 常用命令详解:从版本声明到安装部署
c++·面试
D e re k ZH10 小时前
P5025 [SNOI2017] 炸弹
c++·算法
wuminyu10 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++