#pragma once

#include "CoreMinimal.h"
#include "DBDTableRowBase.h"
#include "EPlayerRole.h"
#include "EEmblemEvaluation.h"
#include "EmblemProgressionID.h"
#include "DBDEmblemDefinition.generated.h"

USTRUCT(BlueprintType)
struct FDBDEmblemDefinition : public FDBDTableRowBase
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FName ID;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText Name;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText Description;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<EPlayerRole> Roles;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<FString> IconFilePaths;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EEmblemEvaluation EmblemEvaluation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool Enabled;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<FEmblemProgressionID> EmblemProgressionData;

public:
	DBDSHAREDTYPES_API FDBDEmblemDefinition();
};

FORCEINLINE uint32 GetTypeHash(const FDBDEmblemDefinition) { return 0; }
