// © 2025 Naked People Team. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "CommonActivatableWidget.h"
#include "WardrobeScreenWidget.generated.h"

class UButton;
class UWardrobeInventoryWidget;
class UEquipmentPanelWidget;
class UEquipmentSlotMenuWidget;
class UEquipmentSlotWidget;

UCLASS(Abstract)
class NAKEDDESIRE_API UWardrobeScreenWidget : public UCommonActivatableWidget
{
	GENERATED_BODY()

protected:
	virtual void NativeOnActivated() override;

private:
	UPROPERTY(EditDefaultsOnly, Category = "UI")
	TSubclassOf<UEquipmentSlotMenuWidget> EquipmentSlotMenuWidgetClass;

	UPROPERTY()
	TObjectPtr<UEquipmentSlotMenuWidget> EquipmentSlotMenuWidget;

	UPROPERTY(meta = (BindWidget))
	TObjectPtr<UEquipmentPanelWidget> EquipmentPanel;

	UPROPERTY(meta = (BindWidget))
	TObjectPtr<UWardrobeInventoryWidget> WardrobeInventory;

	UPROPERTY(meta = (BindWidget))
	TObjectPtr<UButton> MenuBlocker;

	void HandleSlotClicked(UEquipmentSlotWidget* SlotWidget);

	UFUNCTION()
	void CloseMenu();
};