#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "StoreMysteryBoxViewData.h"
#include "StoreContentViewData.h"
#include "StoreFeaturedViewInterface.generated.h"

class UStoreCharacterItemViewData;

UINTERFACE(Blueprintable)
class DBDUIVIEWINTERFACES_API UStoreFeaturedViewInterface : public UInterface
{
	GENERATED_BODY()
};

class DBDUIVIEWINTERFACES_API IStoreFeaturedViewInterface : public IInterface
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void InitMysteryBox(const FStoreMysteryBoxViewData& mysteryBoxViewData);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void InitFeaturedCustomizationItems(const TArray<FStoreContentViewData>& viewDataArray);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void InitFeaturedContent(const TArray<FStoreContentViewData>& featuredContentViewData);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void InitFeaturedCharacters(const TArray<UStoreCharacterItemViewData*>& characterViewDataArray);

};
