Files
2024-01-21 00:41:14 +01:00

47 lines
1.8 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "GameplayTagContainer.h"
#include "GameplayTagAssetInterface.h"
#include "GameplayTagContainer.h"
#include "GameplayEffectApplicationInfo.h"
#include "GameplayEffectApplicationInfoHard.h"
#include "Templates/SubclassOf.h"
#include "FortAbilitySet.generated.h"
class UFortGameplayAbility;
UCLASS(Blueprintable)
class FORTNITEGAME_API UFortAbilitySet : public UPrimaryDataAsset, public IGameplayTagAssetInterface {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<TSubclassOf<UFortGameplayAbility>> GameplayAbilities;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<FGameplayEffectApplicationInfoHard> GrantedGameplayEffects;
private:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<FGameplayEffectApplicationInfo> PassiveGameplayEffects;
public:
UFortAbilitySet();
// Fix for true pure virtual functions not being implemented
UFUNCTION(BlueprintCallable)
bool HasMatchingGameplayTag(FGameplayTag TagToCheck) const override PURE_VIRTUAL(HasMatchingGameplayTag, return false;);
UFUNCTION(BlueprintCallable)
bool HasAnyMatchingGameplayTags(const FGameplayTagContainer& TagContainer) const override PURE_VIRTUAL(HasAnyMatchingGameplayTags, return false;);
UFUNCTION(BlueprintCallable)
bool HasAllMatchingGameplayTags(const FGameplayTagContainer& TagContainer) const override PURE_VIRTUAL(HasAllMatchingGameplayTags, return false;);
UFUNCTION(BlueprintCallable)
void GetOwnedGameplayTags(FGameplayTagContainer& TagContainer) const override PURE_VIRTUAL(GetOwnedGameplayTags,);
};