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

#pragma once

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

class UCheckBox;
class UComboBoxString;

// Gameplay settings tab. Censorship toggle (§ compliance) — applies live through
// UNakedDesireUserSettings::OnSettingsChanged, which UCensorshipComponent listens to —
// plus the UI/text language selector (English / Ukrainian / Japanese).
UCLASS(Abstract)
class NAKEDDESIRE_API UGameplaySettingsTab : public UCommonUserWidget
{
	GENERATED_BODY()

public:
	// Re-reads the current values into the controls. Called by the settings screen on show.
	void RefreshFromSettings();

protected:
	virtual void NativeConstruct() override;

private:
	UPROPERTY(meta = (BindWidget))
	TObjectPtr<UCheckBox> CensorshipCheckBox;

	UPROPERTY(meta = (BindWidget))
	TObjectPtr<UComboBoxString> LanguageCombo;

	UFUNCTION()
	void OnCensorshipChanged(bool bIsChecked);

	UFUNCTION()
	void OnLanguageChanged(FString SelectedItem, ESelectInfo::Type SelectionType);
};