#pragma once

#include "CoreMinimal.h"
#include "SegmentedCatalogItemCategory.h"
#include "SegmentedCatalogItems.generated.h"

USTRUCT(BlueprintType)
struct FSegmentedCatalogItems
{
	GENERATED_BODY()

public:
	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory Pack;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory CurrencyPack;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory Character;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory Shrine;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory Item;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory Outfit;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory Statuette;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory Entitlement;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory PromoPack;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory PremiumItemPack;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory NonRenewableSubscription;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	FSegmentedCatalogItemCategory SpecialPack;

public:
	ONLINEPRESENCE_API FSegmentedCatalogItems();
};

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