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

asp框架商城网站模板中国网通

asp框架商城网站模板,中国网通,wordpress将用户锁在前台,江西优化中心这一部分首先把复杂的每个属性委托全部换成了简洁可复用的委托,之后重新修改了UI蓝图,然后在新增了一个与之前表格关联的动画与血条延迟下降的蓝图 OverlayAuraWidgetController.h // Fill out your copyright notice in the Description page of Project Settings. #pragma …

这一部分首先把复杂的每个属性委托全部换成了简洁可复用的委托,之后重新修改了UI蓝图,然后在新增了一个与之前表格关联的动画与血条延迟下降的蓝图

OverlayAuraWidgetController.h

// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "IPropertyTable.h" #include "UI/WidgetController/AuraWidgetController.h" #include "OverlayAuraWidgetController.generated.h" USTRUCT(BlueprintType) struct FUIWidgetRow : public FTableRowBase { GENERATED_BODY() UPROPERTY(EditAnywhere,BlueprintReadOnly) FGameplayTag MessageTag = FGameplayTag(); UPROPERTY(EditAnywhere,BlueprintReadOnly) FText Message = FText(); UPROPERTY(EditAnywhere,BlueprintReadOnly) TSubclassOf<class UAuraUserWidget> MessageWidget; UPROPERTY(EditAnywhere,BlueprintReadOnly) UTexture2D* Image = nullptr; }; class UAuraUserWidget; DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAttributeChangedSignature, float, NewValue); DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FMessageWidgetRowSingnature, FUIWidgetRow, Row); /** * */ UCLASS(BlueprintType,Blueprintable) class MYGAS_API UOverlayAuraWidgetController : public UAuraWidgetController { GENERATED_BODY() public: virtual void BroadcastInitialValues() override; virtual void BindCallbacksToDependencies() override; UPROPERTY(BlueprintAssignable,Category="GAS|Attributes") FOnAttributeChangedSignature OnHealthChangedSignature; UPROPERTY(BlueprintAssignable,Category="GAS|Attributes") FOnAttributeChangedSignature OnMaxHealthChangedSignature; UPROPERTY(BlueprintAssignable,Category="GAS|Attributes") FOnAttributeChangedSignature OnManaChangedSignature; UPROPERTY(BlueprintAssignable,Category="GAS|Attributes") FOnAttributeChangedSignature OnMaxManaChangedSignature; UPROPERTY(BlueprintAssignable,Category="GAS|Messages") FMessageWidgetRowSingnature MessageWidgetRowDelegate; protected: UPROPERTY(EditDefaultsOnly,BlueprintReadOnly,Category="Widget Data") TObjectPtr<UDataTable> MessageWidgetDataTable; template<typename T> T* GetDataTableRowByTag(UDataTable* DataTable,const FGameplayTag& Tag); }; template <typename T> T* UOverlayAuraWidgetController::GetDataTableRowByTag(UDataTable* DataTable, const FGameplayTag& Tag) { return DataTable->FindRow<T>(Tag.GetTagName(), TEXT(""));; }

OverlayAuraWidgetController.cpp

// Fill out your copyright notice in the Description page of Project Settings. #include "UI/WidgetController/OverlayAuraWidgetController.h" #include "AbilitySystem/AuraAbilitySystemComponentBase.h" #include "AbilitySystem/AuraAttributeSet.h" #include "Engine/Engine.h" #include "GameFramework/Pawn.h" class UAuraAttributeSet; void UOverlayAuraWidgetController::BroadcastInitialValues() { //这里应该绑定一个事件,获取到AuraAttributeSet const UAuraAttributeSet* AuraAttributeSet = CastChecked<UAuraAttributeSet>(AttributeSet); // 获取到 Health 和 MaxHealth 属性,并进行广播 OnHealthChangedSignature.Broadcast(AuraAttributeSet->GetHealth()); OnMaxHealthChangedSignature.Broadcast(AuraAttributeSet->GetMaxHealth()); OnManaChangedSignature.Broadcast(AuraAttributeSet->GetMana()); OnMaxManaChangedSignature.Broadcast(AuraAttributeSet->GetMaxMana()); } void UOverlayAuraWidgetController::BindCallbacksToDependencies() { const UAuraAttributeSet* AuraAttributeSet = CastChecked<UAuraAttributeSet>(AttributeSet); //绑定血量 AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate( AuraAttributeSet->GetHealthAttribute()).AddLambda( [this](const FOnAttributeChangeData& Data) { OnHealthChangedSignature.Broadcast(Data.NewValue); } ); AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate( AuraAttributeSet->GetMaxHealthAttribute()).AddLambda( [this](const FOnAttributeChangeData& Data) { OnMaxHealthChangedSignature.Broadcast(Data.NewValue); } ); //绑定蓝量 AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate( AuraAttributeSet->GetManaAttribute()).AddLambda( [this](const FOnAttributeChangeData& Data) { OnManaChangedSignature.Broadcast(Data.NewValue); } ); AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate( AuraAttributeSet->GetMaxManaAttribute()).AddLambda( [this](const FOnAttributeChangeData& Data) { OnMaxManaChangedSignature.Broadcast(Data.NewValue); } ); Cast<UAuraAbilitySystemComponentBase>(AbilitySystemComponent)->EffectAssetTags.AddLambda( [this](const FGameplayTagContainer& AssetTags) { for(const FGameplayTag& Tag : AssetTags) { //检查 MessageTag 是否是Data表内的 MessageTag,如何不是就会返回False FGameplayTag MessageTag = FGameplayTag::RequestGameplayTag(FName("Message")); if(Tag.MatchesTag(MessageTag)) { const FUIWidgetRow* Row = GetDataTableRowByTag<FUIWidgetRow>(MessageWidgetDataTable , Tag); if(Row) { MessageWidgetRowDelegate.Broadcast(*Row); } } } } ); }

修改WBP_GlobeProgressBar

在UI添加一个ProgressBar_Ghost

更新WBP_Globe_Health和WBP_Globe_Mana的蓝图

在WBP_OverLay里面添加子UI

在这里创建一个动画,先向上,再向右平移并且隐藏

在SetImageAndText内设置播放的字,图片和动画

http://www.dtcms.com/a/547195.html

相关文章:

  • 青岛建站企业网站模板2016成套
  • 广州营销型网站建设公司哪家名气大展馆展示设计公司哪家好
  • 网站发展阶段怎么做app开发外包网
  • 电子商务网站建设考题国内自助建站平台有哪些
  • 网站做的最好的网站有哪些银川网站设计公司
  • 比较好网站设计公司女性时尚网站带论坛php程序
  • 网站到期续费吗现在做个网站大概多少钱
  • 公司的网站建设是什么部门国外永久免费云服务器
  • 手机型网站余姚市建设局网站
  • 企业网站服务门户如何做一个企业的网站
  • 郑州网站开发公su域名注册
  • 快递建站收费标准免费的那种软件
  • 写方案的网站关wordpress更新
  • 申请号的网站懒人手机网站模板
  • 商务网站设计网站模板 帝国 phpcms
  • kuake自助建站系统官网好的网站设计模板
  • 网站建设 目的 意义 政策宣城做w网站的公司
  • 社交网站开发背景单页设计图片模板
  • 优化网站价格小程序app怎么做
  • php做网站和小程序很好网站的ftp账号和密码
  • 驻马店营销型网站建设优化推广广告制作公司起名
  • 广东最大的线上购物平台seo的名词解释
  • 倒v是网站设置的还是作家自己wordpress加载模板
  • 商城县建设局网站建设网站技术方案
  • 东莞网站建设完整投资公司招聘
  • 新手做网站做那个深圳网站设计电话
  • 东莞做商城网站建设图片设计软件app
  • 什么网站可以做外国生意国内网页设计欣赏
  • 中国国际空间站拒绝十个国家wordpress能用多个云存储么
  • 网站建设及优化 赣icp网站的网页设计毕业设计