#pragma once

#include "CoreMinimal.h"
#include "DBDExcludableTableRow.h"
#include "UObject/NoExportTypes.h"
#include "ECurrencyType.h"
#include "StoreSpecialPackItem.h"
#include "StoreSpecialPackImageCompositionEditorData.h"
#include "StoreSpecialPackEditorData.generated.h"

USTRUCT(BlueprintType)
struct FStoreSpecialPackEditorData : public FDBDExcludableTableRow
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString Id;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText FullDescription;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FSoftObjectPath Image;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool IsPurchasable;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSet<ECurrencyType> AvailableCurrencies;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float Discount;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool HiddenIfOwned;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	int32 MinNumberOfUnownedForPurchase;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	int32 SortOrder;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString DLCId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<FStoreSpecialPackItem> Content;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	uint8 AvailabilityDates;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FDateTime StartDate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FDateTime EndDate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FStoreSpecialPackImageCompositionEditorData ImageComposition;

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	bool _isChapterPack;

public:
	DEADBYDAYLIGHT_API FStoreSpecialPackEditorData();
};

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