// Copyright Echo Devgroup #pragma once #include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "UI/WidgetController/AttributeMenuWidgetController.h" #include "UI/WidgetController/OverlayWidgetController.h" #include "Data/CharacterClassInfo.h" #include "AuraAbilitySystemLibrary.generated.h" class UAbilitySystemComponent; class UAttributeMenuWidgetController; class UOverlayWidgetController; /** * */ UCLASS() class AURA_API UAuraAbilitySystemLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: UFUNCTION(BlueprintPure, Category="AuraAbilitySystem|Controller") static UOverlayWidgetController* GetOverlayWidgetController(const UObject* WorldContextObject); UFUNCTION(BlueprintPure, Category="AuraAbilitySystem|Controller") static UAttributeMenuWidgetController* GetAttributeMenuWidgetController(const UObject* WorldContextObject); UFUNCTION(BlueprintCallable, Category="AuraAbilitySystem|Attributes") static void InitializeDefaultAttributes(const UObject* WorldContextObject, ECharacterClass CharacterClass, float Level, UAbilitySystemComponent* ASC); UFUNCTION(BlueprintCallable, Category="AuraAbilitySystem|Attributes") static void GiveStartupAbilities(const UObject* WorldContextObject, UAbilitySystemComponent* ASC); };