GASATHON/Project/Source/Gasa/AbilitySystem/GasaAbilitySystem.h

62 lines
1.9 KiB
C

#pragma once
#include "GasaCommon.h"
#include "Engine/DataTable.h"
#include "GasaAbilitySystem.generated.h"
USTRUCT(BlueprintType)
struct GASA_API FAttributeSetField : public FTableRowBase
{
GENERATED_BODY()
FAttributeSetField()
: Name("Provide_Name")
, Category("Optional Category")
, Description("Provide Description")
, BaseValue(0)
, bUseMinAttribute(false)
, bUseMaxAttribute(false)
, MinAttribute("Attribute behaving has minimum value")
, MinValue(0)
, MaxAttribute("Attribute behaving has maximum value")
, MaxValue(0)
{}
virtual ~FAttributeSetField()
{}
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute")
FName Name;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute")
FName Category;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute")
FString Description;
// UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute")
// FGameplayTag Tag;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute")
float BaseValue;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute")
bool bUseMinAttribute;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute")
bool bUseMaxAttribute;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute", meta =( EditCondition="bUseMinAttribute", EditConditionHides))
FString MinAttribute;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute", meta =( EditCondition="bUseMinAttribute==false", EditConditionHides))
float MinValue;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute", meta =( EditCondition="bUseMaxAttribute", EditConditionHides))
FString MaxAttribute;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gameplay Attribute", meta =( EditCondition="bUseMaxAttribute==false", EditConditionHides))
float MaxValue;
};