// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "PauseMenuClass.generated.h"

DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOpenedBountiesTab);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOpenedFavoursTab);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOpenedNavigationTab);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOpenedSettingsTab);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOpenedQuitTab);

UCLASS()
class ENDLESSVENDETTA_API UPauseMenuClass : public UUserWidget
{
	GENERATED_BODY()
// ------------------- ATTRIBUTES ------------------------------	
public:
	UPROPERTY(BlueprintCallable)
	FOpenedBountiesTab OpenedBountiesTab;

	UPROPERTY(BlueprintCallable)
	FOpenedFavoursTab OpenedFavoursTab;

	UPROPERTY(BlueprintCallable)
	FOpenedNavigationTab OpenedNavigationTab;

	UPROPERTY(BlueprintCallable)
	FOpenedSettingsTab OpenedSettingsTab;

	UPROPERTY(BlueprintCallable)
	FOpenedQuitTab OpenedQuitTab;

// ------------------- METHODS ---------------------------------
public:
	// Closes any Previously Opened Tab and Opens the Given new Tab
	UFUNCTION(BlueprintImplementableEvent)
	void OpenNewTab(UTabWidget* TabWidget);	
};
