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

文山网站建设兼职类似于百度快照的网站

文山网站建设兼职,类似于百度快照的网站,建筑项目查询平台,阿里云邮箱企业版登录1 实现思路设计 定义一个结构体记录技能树一个单元的信息#xff0c;命名为FStrengthenCellInfo#xff0c;一个TArray记录技能树整体信息#xff0c;需要以下信息#xff1a; 1.TArray前置技能index 2.FString 描述文本 3.TArrayFMyItemInfo激活需要的物品ID和…1 实现思路设计 定义一个结构体记录技能树一个单元的信息命名为FStrengthenCellInfo一个TArray记录技能树整体信息需要以下信息 1.TArray前置技能index 2.FString 描述文本 3.TArrayFMyItemInfo激活需要的物品ID和数量 4.bool 是否已经激活 一个新的Save类记录技能树信息 强化条件所有前置技能激活消耗物品全部都够 强化时扣除消耗物品--修改属性--保存属性--更新技能树信息--保存技能树信息--更新UI显示 设计一个道具用来测试ID1 DisplayName源能结晶 CurrentOwnedCnt1000  2 实现过程 2.1 UStrengthenInfoSave 用来保存数据的类实现了GetSet .cpp: // Fill out your copyright notice in the Description page of Project Settings.#include StrengthenSystem/StrengthenInfoSave.hTArrayFStrengthenCellInfo UStrengthenInfoSave::GetStrengthenTreeInfo() {return StrengthenTreeInfo; } void UStrengthenInfoSave::SetStrengthenTreeInfo(TArrayFStrengthenCellInfo InStrengthenTreeInfo) {StrengthenTreeInfo InStrengthenTreeInfo; } .h: // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include CoreMinimal.h #include GameFramework/SaveGame.h #include Items/WarehouseManager.h #include StrengthenInfoSave.generated.hUSTRUCT(BlueprintType) struct ARPG_CPLUS_API FStrengthenCellInfo {GENERATED_USTRUCT_BODY()UPROPERTY(EditAnywhere, BlueprintReadOnly)TArrayint32 PreIndex;UPROPERTY(EditAnywhere, BlueprintReadOnly)FString DescriptionText;UPROPERTY(EditAnywhere, BlueprintReadOnly)TArrayFMyItemInfo NeededItems;UPROPERTY(EditAnywhere, BlueprintReadOnly)bool bIsActivefalse;FStrengthenCellInfo(){PreIndexTArrayint32();NeededItemsTArrayFMyItemInfo();DescriptionText FString(Default);bIsActivefalse;} }; /*** */ UCLASS() class ARPG_CPLUS_API UStrengthenInfoSave : public USaveGame {GENERATED_BODY() private:TArrayFStrengthenCellInfo StrengthenTreeInfo; public:UFUNCTION(BlueprintCallable)TArrayFStrengthenCellInfo GetStrengthenTreeInfo();UFUNCTION(BlueprintCallable)void SetStrengthenTreeInfo(TArrayFStrengthenCellInfo InStrengthenTreeInfo); }; 呜呜出现了一个难以解决的bug正在努力找。。。改完回来更新 1.22补充2.2 UStrengthenManager 继承的UObject 实现了下边这几个函数 Save、Load读取和保存到文件里 GetStrengthedCellInfo是按照index读取技能树里的一个单位的信息这里暂时只有一个技能树就是这个StrengthedTree_1 UPROPERTY(EditDefaultsOnly)TArrayFStrengthenCellInfo StrengthenTree_1;UFUNCTION(BlueprintCallable)void Save();UFUNCTION(BlueprintCallable)void Load();UFUNCTION(BlueprintCallable)FStrengthenCellInfo GetStrengthenCellInfo(int index); 具体实现 void UStrengthenManager::Save() {UStrengthenInfoSave* SaveDataCastUStrengthenInfoSave(UGameplayStatics::CreateSaveGameObject(UStrengthenInfoSave::StaticClass()));SaveData-SetStrengthenTreeInfo(StrengthenTree_1);UGameplayStatics::SaveGameToSlot(SaveData,FString(StrengthenInfo), 0); }void UStrengthenManager::Load() {UStrengthenInfoSave* SaveDataCastUStrengthenInfoSave(UGameplayStatics::LoadGameFromSlot(FString(StrengthenInfo), 0));StrengthenTree_1SaveData-GetStrengthenTreeInfo(); } FStrengthenCellInfo UStrengthenManager::GetStrengthenCellInfo(int index) {if(index0indexStrengthenTree_1.Num()){return StrengthenTree_1[index];}return FStrengthenCellInfo(); } 还有就是测试用的技能树在构造的时候初始化了 FStrengthenCellInfo SCI_1FStrengthenCellInfo();SCI_1.bIsActive false;SCI_1.DescriptionTextFString(BaseAttack10);TArrayFMyItemInfoNeededItems;NeededItems.Add(FMyItemInfo(1,10,FString(源能结晶)));SCI_1.NeededItemsNeededItems;SCI_1.PreIndexTArrayint32();StrengthenTree_1.Add(SCI_1);SCI_1.bIsActive false;SCI_1.DescriptionTextFString(MaxHealth100);NeededItems.Empty();NeededItems.Add(FMyItemInfo(1,15,FString(源能结晶)));SCI_1.NeededItemsNeededItems;SCI_1.PreIndex{0};StrengthenTree_1.Add(SCI_1);SCI_1.bIsActive false;SCI_1.DescriptionTextFString(BaseResistance10);NeededItems.Empty();NeededItems.Add(FMyItemInfo(1,15,FString(源能结晶)));SCI_1.NeededItemsNeededItems;SCI_1.PreIndex{0};StrengthenTree_1.Add(SCI_1); 1.22补充2.3 UUserWidget_StrengthenPad中的修改 添加了一个接口函数来调用Manager里的Get FStrengthenCellInfo UUserWidget_StrengthenPad::GetStrengthenCellInfoInterface(int index) {if(!StrengthenManager)StrengthenManagerNewObjectUStrengthenManager();if(StrengthenManager!nullptr){return StrengthenManager-GetStrengthenCellInfo(index);}return FStrengthenCellInfo(); } 强化的核心是这个函数 所有的需要物品的数量都够了才能进行强化 强化属性 移除消耗物品 更新UI信息 保存数据 //TODO前置技能条件检查 bool UUserWidget_StrengthenPad::TryStrengthenByCellIndex(int index) {if(!WarehouseManager){UE_LOG(LogTemp,Warning,TEXT(WarehouseManager ptr in UUserWidget_StrengthenPad is Not Valid));return false;}FStrengthenCellInfo tempStrengthenManager-GetStrengthenCellInfo(index);bool bCanStrengthentrue;for(int i0;itemp.NeededItems.Num();i){int OwnedCntWarehouseManager-GetItemInfoByItemId(temp.NeededItems[i].ItemId).CurrentOwnedCnt;if(temp.NeededItems[i].CurrentOwnedCntOwnedCnt)//需要的比有的大则不能强化{bCanStrengthenfalse;}}if(bCanStrengthen){//这里处理强化逻辑注意不要错if(index0){StrengthenByName(FString(BaseAttack),10);for(int i0;itemp.NeededItems.Num();i){WarehouseManager-RemoveItemFromWarehouse(temp.NeededItems[i].ItemId,temp.NeededItems[i].CurrentOwnedCnt);}WarehouseManager-SaveData();UpdatePadInfo();SaveToSlot();return true;}if(index1){StrengthenByName(FString(MaxHealth),100);for(int i0;itemp.NeededItems.Num();i){WarehouseManager-RemoveItemFromWarehouse(temp.NeededItems[i].ItemId,temp.NeededItems[i].CurrentOwnedCnt);}WarehouseManager-SaveData();UpdatePadInfo();SaveToSlot();return true;}if(index2){StrengthenByName(FString(BaseResistance),10);for(int i0;itemp.NeededItems.Num();i){WarehouseManager-RemoveItemFromWarehouse(temp.NeededItems[i].ItemId,temp.NeededItems[i].CurrentOwnedCnt);}WarehouseManager-SaveData();UpdatePadInfo();SaveToSlot();return true;}return false;}return false; } 3 测试 在UI蓝图里把更新信息绑定好终于行辣 对比一下这俩图相关的参数变化都对其实调了挺久的
http://www.dnsts.com.cn/news/102041.html

相关文章:

  • 营销类的网站在线建站网页制作网站建设平台
  • 闵行网站开发如何做流量网站
  • 好的网站你们会感谢我的新手小白怎么学做运营
  • 网站建设公司怎么开拓业务logo设计说明模板100字
  • 中济建设官方网站dede 网站名称
  • 深圳做品牌网站wordpress 搜索不能用
  • 《高性能网站建设指南网站正在建设中网页
  • 什么是wap网站国内seo排名
  • h5网站搭建教育企业网站源码
  • 郑州做网站比较好公司专门做旅游的网站
  • 028网站建设深圳网站程序开发
  • 扬州建设网站wordpress云采集
  • 外链网站 风险网站设计要点 优帮云
  • 做网络作家哪个网站好网站建设十年杜绝模板
  • e福州官方网站网络推广网站电话
  • 网站关键词分布图书馆建设投稿网站
  • 俄罗斯视频网站开发完成门户网站建设
  • 网站运营编辑做什么的wordpress搬家后台还是老网站
  • 福州网站开发si7.cc上海技术公司做网站
  • 写建设网站的具体步骤广州的网站建设公司哪家好
  • 做网站是什么样的工作机加工接单什么平台好
  • 松江做网站的公司模板免费下载 素材
  • 网站色彩设计品牌网站建设d小蝌蚪
  • 网站建设密码网站建设企业哪家好
  • 手机网站开发 c郑州网站建设361
  • 网站后台设计培训学校美容 网站源码
  • ui设计作品欣赏网站北京软件开发公司滕迎江
  • 合肥做检查军大网站个人网站备案备注写什么
  • 自己公司怎么做网站图片网站模板下载
  • 阿里巴巴手工活加工平台网站优化工作安排