// © 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 CensorshipCheckBox; UPROPERTY(meta = (BindWidget)) TObjectPtr LanguageCombo; UFUNCTION() void OnCensorshipChanged(bool bIsChecked); UFUNCTION() void OnLanguageChanged(FString SelectedItem, ESelectInfo::Type SelectionType); };