Broadcast Initial Values
This commit is contained in:
@ -29,6 +29,7 @@ void AAuraHUD::InitOverlay(APlayerController* PC, APlayerState* PS, UAbilitySyst
|
||||
const auto WidgetController = GetOverlayWidgetController(WidgetControllerParams);
|
||||
|
||||
OverlayWidget->SetWidgetController(WidgetController);
|
||||
WidgetController->BroadcastInitialValues();
|
||||
|
||||
Widget->AddToViewport();
|
||||
}
|
||||
|
@ -10,3 +10,7 @@ void UAuraWidgetController::SetWidgetControllerParams(const FWidgetControllerPar
|
||||
AbilitySystemComponent = Params.AbilitySystemComponent;
|
||||
AttributeSet = Params.AttributeSet;
|
||||
}
|
||||
|
||||
void UAuraWidgetController::BroadcastInitialValues()
|
||||
{
|
||||
}
|
||||
|
@ -3,3 +3,13 @@
|
||||
|
||||
#include "UI/WidgetController/OverlayWidgetController.h"
|
||||
|
||||
#include "AbilitySystem/AuraAttributeSet.h"
|
||||
|
||||
void UOverlayWidgetController::BroadcastInitialValues()
|
||||
{
|
||||
const auto AuraAttributeSet = CastChecked<UAuraAttributeSet>(AttributeSet);
|
||||
OnHealthChanged.Broadcast(AuraAttributeSet->GetHealth());
|
||||
OnMaxHealthChanged.Broadcast(AuraAttributeSet->GetMaxHealth());
|
||||
OnManaChanged.Broadcast(AuraAttributeSet->GetMana());
|
||||
OnMaxManaChanged.Broadcast(AuraAttributeSet->GetMaxMana());
|
||||
}
|
||||
|
@ -45,6 +45,8 @@ public:
|
||||
UFUNCTION(BlueprintCallable)
|
||||
void SetWidgetControllerParams(const FWidgetControllerParams& Params);
|
||||
|
||||
virtual void BroadcastInitialValues();
|
||||
|
||||
protected:
|
||||
UPROPERTY(BlueprintReadOnly, Category="WidgetController")
|
||||
TObjectPtr<APlayerController> PlayerController;
|
||||
|
@ -6,12 +6,32 @@
|
||||
#include "UI/WidgetController/AuraWidgetController.h"
|
||||
#include "OverlayWidgetController.generated.h"
|
||||
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnHealthChangedSignature, float, NewHealth);
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnMaxHealthChangedSignature, float, NewMaxHealth);
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnManaChangedSignature, float, NewMana);
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnMaxManaChangedSignature, float, NewMaxMana);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
UCLASS(BlueprintType, Blueprintable)
|
||||
class AURA_API UOverlayWidgetController : public UAuraWidgetController
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
|
||||
public:
|
||||
virtual void BroadcastInitialValues() override;
|
||||
|
||||
UPROPERTY(BlueprintAssignable, Category="GAS|Attributes")
|
||||
FOnHealthChangedSignature OnHealthChanged;
|
||||
|
||||
UPROPERTY(BlueprintAssignable, Category="GAS|Attributes")
|
||||
FOnMaxHealthChangedSignature OnMaxHealthChanged;
|
||||
|
||||
UPROPERTY(BlueprintAssignable, Category="GAS|Attributes")
|
||||
FOnManaChangedSignature OnManaChanged;
|
||||
|
||||
UPROPERTY(BlueprintAssignable, Category="GAS|Attributes")
|
||||
FOnMaxManaChangedSignature OnMaxManaChanged;
|
||||
};
|
||||
|
Reference in New Issue
Block a user