Files
FNGameProj/Plugins/EnginePlugins/SmartObjects/Source/SmartObjectsModule/Public/SmartObjectComponent.h
T
2024-03-03 23:44:39 +01:00

53 lines
2.1 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "GameplayTagContainer.h"
#include "GameplayTagAssetInterface.h"
#include "GameplayTagContainer.h"
#include "SmartObjectID.h"
#include "SmartObjectComponent.generated.h"
class USmartObjectConfig;
UCLASS(Blueprintable, ClassGroup=Custom, Config=Game, meta=(BlueprintSpawnableComponent))
class SMARTOBJECTSMODULE_API USmartObjectComponent : public UActorComponent, public IGameplayTagAssetInterface {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSoftObjectPtr<USmartObjectConfig> Config;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FSmartObjectID RegisteredID;
UPROPERTY(AdvancedDisplay, EditAnywhere, meta=(AllowPrivateAccess=true))
uint32 ExecutionPriorityOverride;
UPROPERTY(AdvancedDisplay, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TScriptInterface<IGameplayTagAssetInterface> GameplayTagAssetInterfaceImplementation;
UPROPERTY(AdvancedDisplay, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
uint8 bRichSmartObjectOwner: 1;
UPROPERTY(AdvancedDisplay, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
uint8 bRichSmartObjectComponent: 1;
public:
USmartObjectComponent();
// 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,);
};