#pragma once

#include "CoreMinimal.h"
#include "CoreButtonSelector.h"
#include "Templates/SubclassOf.h"
#include "CoreStoreFeaturedCharacterContainerWidget.generated.h"

class UCoreStoreCharacterItemWidget;
class UHorizontalBox;
class UCoreButtonWidget;

UCLASS(Blueprintable, EditInlineNew)
class UCoreStoreFeaturedCharacterContainerWidget : public UCoreButtonSelector
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, NoClear)
	TSubclassOf<UCoreStoreCharacterItemWidget> CharacterTileClass;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidgetOptional))
	UHorizontalBox* Root;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _itemScale;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _itemSpacing;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	int32 _layoutMask;

private:
	UFUNCTION(BlueprintCallable)
	void OnCharacterTileClicked(UCoreButtonWidget* target);

public:
	UCoreStoreFeaturedCharacterContainerWidget();
};

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