39 virtual void SetAbilitySystemComponent(AActor* InOwner)
override;
49 return KeyboardKeyText;
58 virtual void NativeConstruct()
override;
59 virtual void NativeDestruct()
override;
61 void StartCooldownUpdateTimer();
62 void StopCooldownUpdateTimer();
63 void UnbindCooldownTagEvent();
64 void UpdateCooldownProgress();
65 void BindCooldownTagEvent();
66 void SetCooldownProgress(
float InProgress);
67 virtual void NativePreConstruct()
override;
68 virtual void OnSlotRefreshed();
71 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
76 void OnCooldownStarted();
79 void OnCooldownCompleted();
82 void OnCooldownTagChanged(const FGameplayTag Tag, int32 NewCount);
85 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|Cooldown")
86 bool bUseCooldownGauge = false;
88 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|Cooldown", meta = (Categories = "Cooldown", EditCondition = "bUseCooldownGauge", EditConditionHides))
89 bool bReverseGaugeFillDirection = false;
91 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|Cooldown", meta = (Categories = "Cooldown", EditCondition = "bUseCooldownGauge", EditConditionHides))
92 float SkillIconCooldownOpacity = 0.37f;
94 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|Cooldown", meta = (Categories = "Cooldown", EditCondition = "bUseCooldownGauge", EditConditionHides))
95 FGameplayTag CooldownTargetAbilityTag = FGameplayTag::EmptyTag;
97 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|Cooldown", meta = (Categories = "Cooldown", EditCondition = "bUseCooldownGauge", EditConditionHides))
98 FName ProgressParameterName = TEXT("Progress");
101 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|HUD")
104 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|HUD", meta = (EditCondition = "InputIcon ==
EInputIconType::
Keyboard", EditConditionHides))
105 FText KeyboardKeyText;
107 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|HUD", meta = (EditCondition = "InputIcon ==
EInputIconType::
Mouse", EditConditionHides))
110 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|HUD", meta = (EditCondition = "InputIcon ==
EInputIconType::
Keyboard", EditConditionHides))
111 FSlateBrush KeyBoxImageBrush;
113 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|HUD")
114 FSlateBrush IconBrush;
116 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "
UI|HUD")
117 FSlateBrush GaugeBrush;
120 UPROPERTY(BlueprintReadOnly, Category = "
UI|HUD", meta = (BindWidget))
121 TObjectPtr<UImage> SkillIcon;
123 UPROPERTY(BlueprintReadOnly, Category = "
UI|HUD", meta = (BindWidget))
124 TObjectPtr<UImage> GaugeIcon;
126 UPROPERTY(BlueprintReadOnly, Category = "
UI|HUD", meta = (BindWidget))
127 TObjectPtr<UImage> ReadyGlowImage;
130 UPROPERTY(BlueprintReadOnly, Category =
"UI|HUD", meta = (BindWidget))
131 TObjectPtr<UImage> MouseLeftIcon;
133 UPROPERTY(BlueprintReadOnly, Category = "
UI|HUD", meta = (BindWidget))
134 TObjectPtr<UImage> MouseRightIcon;
136 UPROPERTY(BlueprintReadOnly, Category = "
UI|HUD", meta = (BindWidget))
137 TObjectPtr<UOverlay> MouseButtonIcon;
140#pragma region Keyboard
141 UPROPERTY(BlueprintReadOnly, Category =
"UI|HUD", meta = (BindWidget))
142 TObjectPtr<UTextBlock> KeyText;
144 UPROPERTY(BlueprintReadOnly, Category = "
UI|HUD", meta = (BindWidget))
145 TObjectPtr<UImage> KeyBoxImage;
147 UPROPERTY(BlueprintReadOnly, Category = "
UI|HUD", meta = (BindWidget))
148 TObjectPtr<UOverlay> KeyboardKeyIcon;
149#pragma endregion endregion
151 UPROPERTY(Transient, meta = (BindWidgetAnimOptional))
152 TObjectPtr<UWidgetAnimation> PingPong;
156 TObjectPtr<UMaterialInstanceDynamic> GaugeMaterial;
159 FDelegateHandle CooldownTagDelegateHandle;
160 FTimerHandle CooldownUpdateTimerHandle;
161 bool bCooldownActive = false;