#pragma once

#include "CoreMinimal.h"
#include "DBDTableRowBaseWithId.h"
#include "ChallengeSetEditorUIAssets.h"
#include "EChallengeSetType.h"
#include "ChallengeList.h"
#include "ChallengeSetEditorData.generated.h"

USTRUCT(BlueprintType)
struct FChallengeSetEditorData : public FDBDTableRowBaseWithId
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	int32 TabOrder;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText TabTitleStringId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText HeaderTitleStringId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText HeaderSubtitleStringId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText AdditionalInfoStringId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString RewardTrackerId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString EventId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString SetStartDate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString SetEndDate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FChallengeSetEditorUIAssets UIAssets;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EChallengeSetType SetType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	uint8 SetMask;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString InclusionVersion;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<FChallengeList> ChallengeLists;

public:
	DEADBYDAYLIGHT_API FChallengeSetEditorData();
};

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