#pragma once

#include "CoreMinimal.h"
#include "UnlockPersonalPerksPopupViewInterface.h"
#include "CoreGenericPopupWidget.h"
#include "CoreUnlockPersonalPerksPopupWidget.generated.h"

class UCoreMenuPerkWidget;
class UCoreButtonWidget;

UCLASS(Blueprintable, EditInlineNew)
class DBDUIVIEWSCORE_API UCoreUnlockPersonalPerksPopupWidget : public UCoreGenericPopupWidget, public IUnlockPersonalPerksPopupViewInterface
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Instanced)
	TArray<UCoreMenuPerkWidget*> _perkArray;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UCoreMenuPerkWidget* FirstPerk;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UCoreMenuPerkWidget* SecondPerk;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UCoreMenuPerkWidget* ThirdPerk;

private:
	UFUNCTION(BlueprintCallable)
	void ShowMenuPerkTooltip(UCoreButtonWidget* hoveredSlotWidget);

	UFUNCTION(BlueprintCallable)
	void HideMenuPerkTooltip(UCoreButtonWidget* unhoveredSlotWidget);

public:
	UCoreUnlockPersonalPerksPopupWidget();
};

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