#pragma once

#include "CoreMinimal.h"
#include "CommonUserWidget.h"
#include "GameLayoutWidget.generated.h"

class UWardrobeScreenWidget;
class UInventoryScreenWidget;
class UPhoneScreenWidget;
class UPauseMenuWidget;
class UHUDWidget;
class UCommonActivatableWidgetStack;

UCLASS()
class NAKEDDESIRE_API UGameLayoutWidget : public UCommonUserWidget
{
	GENERATED_BODY()
	
	UPROPERTY(meta = (BindWidget))
	TObjectPtr<UCommonActivatableWidgetStack> WidgetStack;
	
	UPROPERTY(meta = (BindWidget))
	TObjectPtr<UHUDWidget> HUD;
	
	UPROPERTY(EditDefaultsOnly, Category = "UI")
	TSubclassOf<UInventoryScreenWidget> InventoryScreenWidgetClass;
	
	UPROPERTY()
	TObjectPtr<UInventoryScreenWidget> InventoryScreenWidget;
	
	UPROPERTY(EditDefaultsOnly, Category = "UI")
	TSubclassOf<UWardrobeScreenWidget> WardrobeScreenWidgetClass;
	
	UPROPERTY()
	TObjectPtr<UWardrobeScreenWidget> WardrobeScreenWidget;

	UPROPERTY(EditDefaultsOnly, Category = "UI")
	TSubclassOf<UPhoneScreenWidget> PhoneScreenWidgetClass;

	UPROPERTY()
	TObjectPtr<UPhoneScreenWidget> PhoneScreenWidget;

	UPROPERTY(EditDefaultsOnly, Category = "UI")
	TSubclassOf<UPauseMenuWidget> PauseMenuWidgetClass;

	UPROPERTY()
	TObjectPtr<UPauseMenuWidget> PauseMenuWidget;

public:
	void OpenInventory();
	void OpenWardrobe();
	void OpenPhone();
	void OpenPauseMenu();
};
