当前位置: 首页 > news >正文

企业网站建设推广实训报告wordpress页面导航收录

企业网站建设推广实训报告,wordpress页面导航收录,wordpress图片暗箱,网站建设中页面源码在上一篇,我们解析了UI属性面板的实现步骤: 首先我们需要通过c去实现创建GameplayTag,这样可以在c和UE里同时获取到Tag创建一个DataAsset类,用于设置tag对应的属性和显示内容创建AttributeMenuWidgetController实现对应逻辑 并且…

在上一篇,我们解析了UI属性面板的实现步骤:

  1. 首先我们需要通过c++去实现创建GameplayTag,这样可以在c++和UE里同时获取到Tag
  2. 创建一个DataAsset类,用于设置tag对应的属性和显示内容
  3. 创建AttributeMenuWidgetController实现对应逻辑

并且我们实现了第一步,就是在C++里可以创建GameplayTag,并且可以通过单例去获取到Tag的变量。后面属性修改委托也会通过Tag去匹配,这一篇,我们将实现创建一个DataAsset类,用于存储UI显示所需的数据。

创建DataAsset类

这里就有一个问题了,为什么这里使用DataAsset而不是DataTable?
DataTable主要用于存储和读取数据,是一种灵活的数据结构,可以用于存储和维护大量的静态数据。而DataAsset则是一种将资源集合在一起的方式,用于实现资源管理。通过DataAsset,可以将某个对象(如英雄)所使用的所有资源集合在一起,当需要加载该对象时,只需加载对应的DataAsset,从而避免了加载不必要的资源。DataAsset需要手动定义数据结构并添加引用的数据,它只存储引用,并不同步加载所有数据,这使得DataAsset在资源管理方面具有较高的灵活性。

我们需要通过代码去修改DataAsset内的属性显示的实际的值, 这里使用DataAsset更合理。

首先我们创建一个类,类继承于DataAsset
在这里插入图片描述
编辑器打开文件,首先,我们先创建一个DataAsset使用的结构体,在结构体中增加三项不会在项目运行中修改的内容,实际的属性数值,我们则需要实时修改,所以,不需要通过蓝图面板设置。EditDefaultsOnly标示代表此属性可以通过面板修改内容。

USTRUCT(BlueprintType)
struct FAttributeInfo
{GENERATED_BODY()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)FGameplayTag AttributeTag = FGameplayTag();UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)FText AttributeName = FText();UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)FText AttributeDescription = FText();UPROPERTY(BlueprintReadOnly)float AttributeValue = 0.f;
};

创建完成结构体后,我们添加一个变量AttributeInformation这是一个数组,后面我们将在UE里面可以使用编辑面板添加数据。接着我们又增加了一个函数,FindAttributeInfoForTag可以实现通过Tag进行获取结构体数据,我们将在C++里对数据进行修改,并在UI里对数据进行获取。

UCLASS()
class AURA_API UAttributeInfo : public UDataAsset
{GENERATED_BODY()public:FAttributeInfo FindAttributeInfoForTag(const FGameplayTag& AttributeTag, bool bLogNotFound = false) const;UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)TArray<FAttributeInfo> AttributeInformation;
};

在函数实现那这里,我们通过标签的匹配来获取结构体,如果设置bLogNotFound为true,如果没有获取到数据,我们将打印错误。

// 版权归暮志未晚所有。#include "AbilitySystem/Data/AttributeInfo.h"FAttributeInfo UAttributeInfo::FindAttributeInfoForTag(const FGameplayTag& AttributeTag, bool bLogNotFound) const
{for(const FAttributeInfo& Info : AttributeInformation){//判断标签是否完全匹配if(Info.AttributeTag.MatchesTagExact(AttributeTag)){return Info;}}//未查询到是否打印if(bLogNotFound){UE_LOG(LogTemp, Error, TEXT("无法从数据列表[%s]中查找到对应的AttributeTag[%s]"), *GetNameSafe(this), *AttributeTag.ToString());}return FAttributeInfo();
}

这里我们就可以编译打开UE,创建一个数据资产
在这里插入图片描述
类选择我们创建的AttributeInfo类
在这里插入图片描述
打开之后,只有一个AttributeInformation数组,我们可以根据需要添加子项
在这里插入图片描述
我们修改标签,填入显示的名称和描述,将所有的主要属性和次级属性都添加进去。
在这里插入图片描述
在这里插入图片描述
到这里,我们将属性的DataAsset创建完成,并填充了内容,后续可以通过标签获取然后在UI上面显示出来。

这样,我们的数据有了,第二个步骤也实现了,接下来,我们将创建一个控制器类,从AS内获取数据,并通过委托广播出去,让UI去更新数据显示。

http://www.yayakq.cn/news/753615/

相关文章:

  • 南阳网站建设多少钱seo效果最好的是
  • 鹤壁做网站推广网站设计的优点
  • 专业网站建设详细方案给网站怎么做tag标签
  • 企业网站模板html网站建设计划书怎么写
  • 申请免费网站空间网站登录后台地址
  • 佛山建站 网站 商城杭集手工活外发加工网
  • 南阳建网站企业有哪些大型网络游戏排行榜前十名
  • 沙元埔做网站的公司别人用我公司权限做网站
  • 一个服务器上有两个网站 要备案两次吗可以做仿牌网站
  • 网站的ftp地址是什么公网ip做网站访问不
  • 这么建立com的网站做期货资讯网站
  • 社交网站开发教程室内设计和网站建设哪个前景好
  • 网站建设与维护 pdf网站快照优化公司
  • 如何把自己做的网站发布到网上qq登录网页版
  • 网站开发公司海报lamp wordpress 一键安装
  • 潍坊cms建站系统wordpress批量改文章链接
  • 非交互式网站备案男女做那个网站动态图片
  • 大理高端网站建设在哪些网站可以做毕业设计
  • 食品网站的网页设计求大佬给个资源找累了
  • 长沙免费网站建站模板宁夏自治区住房与城乡建设厅网站
  • 推荐一些做网站网络公司企业邮箱在哪里登陆
  • 手机网站源码下载办公室装修风格效果图
  • 宁波市住房与城乡建设部网站做微网站多少钱
  • 建设部网站官网春考网站建设
  • 网站 栏目什么专业学网页设计
  • 萧山网站优化网站租用一年服务器费用多少
  • 广西网站怎么制作重庆前十装修公司排名
  • 做网站的公司国外代理服务器免费
  • 外包做网站需要多少钱商城网站建设价格费用
  • seo怎么优化一个网站科技有限公司可以做网站建设吗