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

46 lines
1.5 KiB
C
Raw Normal View History

2024-04-21 21:30:29 -07:00
#pragma once
2024-04-21 15:56:57 -07:00
2024-04-26 17:08:08 -07:00
#include "GasaCommon.h"
#include "TaggedMessageRow.h"
2024-04-21 15:56:57 -07:00
#include "WidgetController.h"
#include "HostWidgetController.generated.h"
2024-04-26 17:08:08 -07:00
2024-04-21 21:30:29 -07:00
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam( FAttributeFloatChangedSig, float, NewValue );
2024-04-21 15:56:57 -07:00
2024-04-21 21:30:29 -07:00
UCLASS( Blueprintable, BlueprintType )
2024-04-21 15:56:57 -07:00
class GASA_API UHostWidgetController : public UWidgetController
{
GENERATED_BODY()
public:
2024-04-21 21:30:29 -07:00
#pragma region Attribute Events
// Attribute Events are generated by GasaGen/GasaGen_HostWidgetController.cpp
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeFloatChangedSig Event_OnHealthChanged;
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeFloatChangedSig Event_OnMaxHealthChanged;
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeFloatChangedSig Event_OnManaChanged;
UPROPERTY( BlueprintAssignable, Category = "Attributes" )
FAttributeFloatChangedSig Event_OnMaxManaChanged;
2024-04-21 22:54:33 -07:00
void HealthChanged( FOnAttributeChangeData const& Data );
void MaxHealthChanged( FOnAttributeChangeData const& Data );
void ManaChanged( FOnAttributeChangeData const& Data );
void MaxManaChanged( FOnAttributeChangeData const& Data );
2024-04-21 21:30:29 -07:00
#pragma endregion Attribute Events
2024-04-26 17:08:08 -07:00
UPROPERTY( BlueprintAssignable, Category = "Messages" )
FTaggedMessageRowSig OnTaggedAssetMessage;
void OnEffectAppliedAssetTags( FGameplayTagContainer const& AssetTags );
2024-04-21 21:30:29 -07:00
#pragma region WidgetController
void BroadcastInitialValues() override;
2024-04-21 22:54:33 -07:00
void BindCallbacksToDependencies() override;
2024-04-21 21:30:29 -07:00
#pragma endregion WidgetController
2024-04-21 15:56:57 -07:00
};