// Copyright Echo Devgroup #pragma once #include "CoreMinimal.h" #include "UI/WidgetController/AuraWidgetController.h" #include "AttributeMenuWidgetController.generated.h" class UAttributeInfo; struct FAuraAttributeInfo; DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FAttributeInfoSignature, const FAuraAttributeInfo&, Info); /** * */ UCLASS(Blueprintable, BlueprintType) class AURA_API UAttributeMenuWidgetController : public UAuraWidgetController { GENERATED_BODY() public: virtual void BindCallbacksToDependencies() override; virtual void BroadcastInitialValues() override; UPROPERTY(BlueprintAssignable, Category="GAS|Attributes") FAttributeInfoSignature AttributeInfoDelegate; //UPROPERTY(BlueprintAssignable, Category="GAS|Attributes") //FOnPlayerStatChangedSignature AttributePointsChangedDelegate; //UFUNCTION(BlueprintCallable) //void UpgradeAttribute(const FGameplayTag& AttributeTag); protected: UPROPERTY(EditDefaultsOnly) TObjectPtr AttributeInfo; private: void BroadcastAttributeInfo(const FGameplayTag& AttributeTag, const FGameplayAttribute& Attribute) const; };