From daafde603145f8e5a4bbfd5617ba2fb1f2e03173 Mon Sep 17 00:00:00 2001 From: Viktor Blomme Date: Mon, 27 May 2024 17:29:45 +0200 Subject: [PATCH 1/3] Make blueprint callable function to give abilityset to asc --- .../Private/GAS/Abilities/GBFAbilitySet.cpp | 5 +++++ .../GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp b/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp index a727b275..8fb917ea 100644 --- a/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp +++ b/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp @@ -62,6 +62,11 @@ void FGBFAbilitySet_GrantedHandles::TakeFromAbilitySystem( UAbilitySystemCompone GrantedAttributeSets.Reset(); } +void UGBFAbilitySet::GiveToAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles & out_granted_handles, UObject * source_object ) const +{ + GiveToAbilitySystem( asc, &out_granted_handles, source_object ); +} + FPrimaryAssetId UGBFAbilitySet::GetPrimaryAssetId() const { return FPrimaryAssetId( TEXT( "AbilitySet" ), GetPackage()->GetFName() ); diff --git a/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h b/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h index 13c669f6..c0f0d7f0 100644 --- a/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h +++ b/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h @@ -79,6 +79,9 @@ class GAMEBASEFRAMEWORK_API UGBFAbilitySet final : public UPrimaryDataAsset GENERATED_BODY() public: + UFUNCTION( BlueprintCallable, BlueprintPure = false ) + void GiveToAbilitySystem( UAbilitySystemComponent * asc, UPARAM( ref ) FGBFAbilitySet_GrantedHandles & out_granted_handles, UObject * source_object = nullptr ) const; + FPrimaryAssetId GetPrimaryAssetId() const override; void GiveToAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles * out_granted_handles, UObject * source_object = nullptr ) const; From 5ef5a73fd64b4385e90437cc8af2c7283c4521f5 Mon Sep 17 00:00:00 2001 From: Viktor Blomme Date: Tue, 28 May 2024 17:03:04 +0200 Subject: [PATCH 2/3] Add function to take ability set from asc --- .../Private/GAS/Abilities/GBFAbilitySet.cpp | 5 +++++ .../GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp b/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp index 8fb917ea..bda61539 100644 --- a/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp +++ b/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp @@ -67,6 +67,11 @@ void UGBFAbilitySet::GiveToAbilitySystem( UAbilitySystemComponent * asc, FGBFAbi GiveToAbilitySystem( asc, &out_granted_handles, source_object ); } +void UGBFAbilitySet::TakeFromAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles & granted_handles ) +{ + granted_handles.TakeFromAbilitySystem( asc ); +} + FPrimaryAssetId UGBFAbilitySet::GetPrimaryAssetId() const { return FPrimaryAssetId( TEXT( "AbilitySet" ), GetPackage()->GetFName() ); diff --git a/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h b/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h index c0f0d7f0..9d500f74 100644 --- a/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h +++ b/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h @@ -82,6 +82,9 @@ class GAMEBASEFRAMEWORK_API UGBFAbilitySet final : public UPrimaryDataAsset UFUNCTION( BlueprintCallable, BlueprintPure = false ) void GiveToAbilitySystem( UAbilitySystemComponent * asc, UPARAM( ref ) FGBFAbilitySet_GrantedHandles & out_granted_handles, UObject * source_object = nullptr ) const; + UFUNCTION( BlueprintCallable ) + void TakeFromAbilitySystem( UAbilitySystemComponent * asc, UPARAM( ref ) FGBFAbilitySet_GrantedHandles & granted_handles ); + FPrimaryAssetId GetPrimaryAssetId() const override; void GiveToAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles * out_granted_handles, UObject * source_object = nullptr ) const; From bde8d68097fba514545064e825337c06a08a7c8e Mon Sep 17 00:00:00 2001 From: Viktor Blomme Date: Wed, 29 May 2024 16:38:33 +0200 Subject: [PATCH 3/3] Add K2 prefix --- .../Private/GAS/Abilities/GBFAbilitySet.cpp | 4 ++-- .../Public/GAS/Abilities/GBFAbilitySet.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp b/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp index bda61539..1027df14 100644 --- a/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp +++ b/Source/GameBaseFramework/Private/GAS/Abilities/GBFAbilitySet.cpp @@ -62,12 +62,12 @@ void FGBFAbilitySet_GrantedHandles::TakeFromAbilitySystem( UAbilitySystemCompone GrantedAttributeSets.Reset(); } -void UGBFAbilitySet::GiveToAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles & out_granted_handles, UObject * source_object ) const +void UGBFAbilitySet::K2_GiveToAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles & out_granted_handles, UObject * source_object ) const { GiveToAbilitySystem( asc, &out_granted_handles, source_object ); } -void UGBFAbilitySet::TakeFromAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles & granted_handles ) +void UGBFAbilitySet::K2_TakeFromAbilitySystem( UAbilitySystemComponent * asc, FGBFAbilitySet_GrantedHandles & granted_handles ) { granted_handles.TakeFromAbilitySystem( asc ); } diff --git a/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h b/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h index 9d500f74..ef9b4858 100644 --- a/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h +++ b/Source/GameBaseFramework/Public/GAS/Abilities/GBFAbilitySet.h @@ -79,11 +79,11 @@ class GAMEBASEFRAMEWORK_API UGBFAbilitySet final : public UPrimaryDataAsset GENERATED_BODY() public: - UFUNCTION( BlueprintCallable, BlueprintPure = false ) - void GiveToAbilitySystem( UAbilitySystemComponent * asc, UPARAM( ref ) FGBFAbilitySet_GrantedHandles & out_granted_handles, UObject * source_object = nullptr ) const; + UFUNCTION( BlueprintCallable, BlueprintPure = false, DisplayName = "GiveToAbilitySystem" ) + void K2_GiveToAbilitySystem( UAbilitySystemComponent * asc, UPARAM( ref ) FGBFAbilitySet_GrantedHandles & out_granted_handles, UObject * source_object = nullptr ) const; - UFUNCTION( BlueprintCallable ) - void TakeFromAbilitySystem( UAbilitySystemComponent * asc, UPARAM( ref ) FGBFAbilitySet_GrantedHandles & granted_handles ); + UFUNCTION( BlueprintCallable, DisplayName = "TakeFromAbilitySystem" ) + void K2_TakeFromAbilitySystem( UAbilitySystemComponent * asc, UPARAM( ref ) FGBFAbilitySet_GrantedHandles & granted_handles ); FPrimaryAssetId GetPrimaryAssetId() const override;