#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "EOverlayTabs.h"
#include "UObject/ScriptInterface.h"
#include "SettingsViewInterface.generated.h"

class ISettingsMatchDetailsViewInterface;

UINTERFACE(Blueprintable)
class DBDUIVIEWINTERFACES_API USettingsViewInterface : public UInterface
{
	GENERATED_BODY()
};

class DBDUIVIEWINTERFACES_API ISettingsViewInterface : public IInterface
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetScrollPromptVisibility(bool isVisible);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetResetDefaultsInputSwitcherVisibility(bool isVisible);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetResetDefaultsInputSwitcherLabel(const FText& label);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetQuitInputSwitcherVisibility(bool isVisible);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetQuitInputSwitcherLabel(const FText& label);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetMenuState(EOverlayTabs state);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	TScriptInterface<ISettingsMatchDetailsViewInterface> GetSettingsMatchDetailsInterface() const;

};
