#pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "GameplayTagContainer.h" #include "GameplayTagAssetInterface.h" #include "GameplayTagContainer.h" #include "FacilityShieldGenerator.generated.h" UCLASS(Blueprintable) class AFacilityShieldGenerator : public AActor, public IGameplayTagAssetInterface { GENERATED_BODY() public: protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGameplayTagContainer GameplayTags; public: AFacilityShieldGenerator(); // 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,); };