diff --git a/Content/Blueprints/UI/HUD/BP_AuraHUD.uasset b/Content/Blueprints/UI/HUD/BP_AuraHUD.uasset index 68ddfe4..f1b4fb2 100644 --- a/Content/Blueprints/UI/HUD/BP_AuraHUD.uasset +++ b/Content/Blueprints/UI/HUD/BP_AuraHUD.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43844941eb2d4434a1578133cbde02ea7d6f1c369abb07d48af94b521358d8b7 -size 22616 +oid sha256:ad3a7333ea7ee48e91b544ff331c1421a2f7766e92b9c3402330cb3763fedac1 +size 22737 diff --git a/Content/Blueprints/UI/Overlay/WBP_Overlay.uasset b/Content/Blueprints/UI/Overlay/WBP_Overlay.uasset index ea7980d..994030b 100644 --- a/Content/Blueprints/UI/Overlay/WBP_Overlay.uasset +++ b/Content/Blueprints/UI/Overlay/WBP_Overlay.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e9e1c8f00f1b564dafc558f48ca2e258b80a9bb9aa658d0dbd89a5769c9af7b8 -size 27650 +oid sha256:da61ce2339d125ebe49da0c8e9a2887d399cc196220d6c3cd30221f8eb0b9e4b +size 32763 diff --git a/Content/Blueprints/UI/ProgressBar/WBP_GlobeProgressBar.uasset b/Content/Blueprints/UI/ProgressBar/WBP_GlobeProgressBar.uasset index c144ad5..e44df71 100644 --- a/Content/Blueprints/UI/ProgressBar/WBP_GlobeProgressBar.uasset +++ b/Content/Blueprints/UI/ProgressBar/WBP_GlobeProgressBar.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1fc63221480953ed3697d1bf6103b52f185cc8fcf8e91c02d639637873876025 -size 166232 +oid sha256:667cfff506eb7034dc8489b58d62897d033a57fe2267bf28f407b043dd9fc522 +size 173272 diff --git a/Content/Blueprints/UI/ProgressBar/WBP_HealthGlobe.uasset b/Content/Blueprints/UI/ProgressBar/WBP_HealthGlobe.uasset index 00bf49d..5cd9f2d 100644 --- a/Content/Blueprints/UI/ProgressBar/WBP_HealthGlobe.uasset +++ b/Content/Blueprints/UI/ProgressBar/WBP_HealthGlobe.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f17c8a7e933e39b957237ac5aee0166db5b0d3186b1ae280640a04e1c143dc1f -size 32266 +oid sha256:b238d17a0efc32fac394d689fd34f4341fcca5b40f44314c29abad0f003f010b +size 74480 diff --git a/Content/Blueprints/UI/ProgressBar/WBP_ManaGlow.uasset b/Content/Blueprints/UI/ProgressBar/WBP_ManaGlow.uasset index c00fe56..da53dc4 100644 --- a/Content/Blueprints/UI/ProgressBar/WBP_ManaGlow.uasset +++ b/Content/Blueprints/UI/ProgressBar/WBP_ManaGlow.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5cd58d90c1cf63110076dc33fa984ef28319b5a2d868e56ddd3866cf08d10df7 -size 30636 +oid sha256:0f178004903057afe5759ca6e8d3653733b801e954927f15690c6009dcd38eb0 +size 75427 diff --git a/Content/Blueprints/UI/WidgetController/BP_OverlayWidgetController.uasset b/Content/Blueprints/UI/WidgetController/BP_OverlayWidgetController.uasset new file mode 100644 index 0000000..15be667 --- /dev/null +++ b/Content/Blueprints/UI/WidgetController/BP_OverlayWidgetController.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7e8e7bf71db3d19b1ad9d46ff6835dccfcd0664e6a827c3a981e98032d6604c +size 5924 diff --git a/Source/Aura/Private/UI/HUD/AuraHUD.cpp b/Source/Aura/Private/UI/HUD/AuraHUD.cpp index e56b792..097547b 100644 --- a/Source/Aura/Private/UI/HUD/AuraHUD.cpp +++ b/Source/Aura/Private/UI/HUD/AuraHUD.cpp @@ -29,6 +29,7 @@ void AAuraHUD::InitOverlay(APlayerController* PC, APlayerState* PS, UAbilitySyst const auto WidgetController = GetOverlayWidgetController(WidgetControllerParams); OverlayWidget->SetWidgetController(WidgetController); + WidgetController->BroadcastInitialValues(); Widget->AddToViewport(); } diff --git a/Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp b/Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp index 649138c..1e4bdf0 100644 --- a/Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp +++ b/Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp @@ -10,3 +10,7 @@ void UAuraWidgetController::SetWidgetControllerParams(const FWidgetControllerPar AbilitySystemComponent = Params.AbilitySystemComponent; AttributeSet = Params.AttributeSet; } + +void UAuraWidgetController::BroadcastInitialValues() +{ +} diff --git a/Source/Aura/Private/UI/WidgetController/OverlayWidgetController.cpp b/Source/Aura/Private/UI/WidgetController/OverlayWidgetController.cpp index a72aeda..b52e9f5 100644 --- a/Source/Aura/Private/UI/WidgetController/OverlayWidgetController.cpp +++ b/Source/Aura/Private/UI/WidgetController/OverlayWidgetController.cpp @@ -3,3 +3,13 @@ #include "UI/WidgetController/OverlayWidgetController.h" +#include "AbilitySystem/AuraAttributeSet.h" + +void UOverlayWidgetController::BroadcastInitialValues() +{ + const auto AuraAttributeSet = CastChecked(AttributeSet); + OnHealthChanged.Broadcast(AuraAttributeSet->GetHealth()); + OnMaxHealthChanged.Broadcast(AuraAttributeSet->GetMaxHealth()); + OnManaChanged.Broadcast(AuraAttributeSet->GetMana()); + OnMaxManaChanged.Broadcast(AuraAttributeSet->GetMaxMana()); +} diff --git a/Source/Aura/Public/UI/WidgetController/AuraWidgetController.h b/Source/Aura/Public/UI/WidgetController/AuraWidgetController.h index e4a1c13..3af5e67 100644 --- a/Source/Aura/Public/UI/WidgetController/AuraWidgetController.h +++ b/Source/Aura/Public/UI/WidgetController/AuraWidgetController.h @@ -45,6 +45,8 @@ public: UFUNCTION(BlueprintCallable) void SetWidgetControllerParams(const FWidgetControllerParams& Params); + virtual void BroadcastInitialValues(); + protected: UPROPERTY(BlueprintReadOnly, Category="WidgetController") TObjectPtr PlayerController; diff --git a/Source/Aura/Public/UI/WidgetController/OverlayWidgetController.h b/Source/Aura/Public/UI/WidgetController/OverlayWidgetController.h index 46a34ce..489ebbf 100644 --- a/Source/Aura/Public/UI/WidgetController/OverlayWidgetController.h +++ b/Source/Aura/Public/UI/WidgetController/OverlayWidgetController.h @@ -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; };