虚幻引擎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:

效果:

力量出来了

相关推荐
仰泳的熊猫6 小时前
LeetCode:72. 超级次方
数据结构·c++·算法·leetcode
打不了嗝 ᥬ᭄7 小时前
传输层协议TCP
linux·服务器·网络·c++·tcp/ip
敲上瘾7 小时前
Linux系统C++开发环境搭建工具(三)—— brpc使用指南
linux·c++·分布式·rpc
_dindong7 小时前
牛客101:递归/回溯
数据结构·c++·笔记·学习·算法·leetcode·深度优先
AA陈超8 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-31 映射标签到属性
c++·游戏·ue5·游戏引擎·虚幻
刃神太酷啦8 小时前
力扣校招算法通关:双指针技巧全场景拆解 —— 从数组操作到环检测的高效解题范式
java·c语言·数据结构·c++·算法·leetcode·职场和发展
gshh__8 小时前
SuperMap Hi-Fi 3D SDK for Unreal 使用蓝图接口加载多源数据
ue5·游戏引擎·supermap
haofafa8 小时前
STL之动态数组
开发语言·c++
leafff1238 小时前
AI研究:轻量模型和专用模型在算力优化上的差异对游戏制作的效率和质量有何影响?
人工智能·游戏