GASATHON/Project/Source/Gasa/UI/HostWidgetController.h

46 lines
1.5 KiB
C++

#pragma once
#include "GasaCommon.h"
#include "TaggedMessageRow.h"
#include "WidgetController.h"
#include "HostWidgetController.generated.h"
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam( FAttributeChangedSig, float, NewValue );
UCLASS( Blueprintable, BlueprintType )
class GASA_API UHostWidgetController : public UWidgetController
{
GENERATED_BODY()
public:
#pragma region Attribute Events
// Attribute Events are generated by GasaGen/GasaGen_HostWidgetController.cpp
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeChangedSig Event_OnHealthChanged;
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeChangedSig Event_OnMaxHealthChanged;
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeChangedSig Event_OnManaChanged;
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeChangedSig Event_OnMaxManaChanged;
void HealthChanged( FOnAttributeChangeData const& Data );
void MaxHealthChanged( FOnAttributeChangeData const& Data );
void ManaChanged( FOnAttributeChangeData const& Data );
void MaxManaChanged( FOnAttributeChangeData const& Data );
#pragma endregion Attribute Events
UPROPERTY( BlueprintAssignable, Category = "Messages" )
FTaggedMessageRowSig OnTaggedAssetMessage;
void OnEffectAppliedAssetTags( FGameplayTagContainer const& AssetTags );
#pragma region WidgetController
void BroadcastInitialValues() override;
void BindCallbacksToDependencies() override;
#pragma endregion WidgetController
};