#pragma once

#include "CoreMinimal.h"
#include "StoreSpecialPackRuntimeItem.h"
#include "ECurrencyType.h"
#include "UObject/NoExportTypes.h"
#include "StoreSpecialPackRuntimeData.generated.h"

USTRUCT(BlueprintType)
struct FStoreSpecialPackRuntimeData
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsValid;

	UPROPERTY(BlueprintReadWrite, Transient)
	FString Id;

	UPROPERTY(BlueprintReadWrite, Transient)
	TMap<FString, FString> TitleByCulture;

	UPROPERTY(BlueprintReadWrite, Transient)
	TMap<FString, FString> FullDescriptionByCulture;

	UPROPERTY(BlueprintReadWrite, Transient)
	TArray<FStoreSpecialPackRuntimeItem> Content;

	UPROPERTY(Transient)
	TMap<ECurrencyType, uint32> OriginalCost;

	UPROPERTY(Transient)
	TMap<ECurrencyType, uint32> DiscountedCost;

	UPROPERTY(Transient)
	double Discount;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool HiddenIfOwned;

	UPROPERTY(BlueprintReadWrite, Transient)
	int32 MinNumberOfUnownedForPurchase;

	UPROPERTY(Transient)
	FDateTime StartDate;

	UPROPERTY(Transient)
	FDateTime EndDate;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsOwned;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsNew;

	UPROPERTY(BlueprintReadWrite, Transient)
	FString Image;

	UPROPERTY(BlueprintReadWrite, Transient)
	FString DLCId;

	UPROPERTY(BlueprintReadWrite, Transient)
	int32 SortOrder;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool ComposePackImage;

	UPROPERTY(BlueprintReadWrite, Transient)
	int32 PackImageCompositionNumberOfItems;

public:
	DEADBYDAYLIGHT_API FStoreSpecialPackRuntimeData();
};

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