ui updates

This commit is contained in:
2026-06-12 23:29:35 +03:00
parent 9b3d7c4491
commit 5ff72d09c3
26 changed files with 159 additions and 37 deletions
@@ -2,23 +2,22 @@
#include "SettingsScreenWidget.h"
#include "AudioSettingsTab.h"
#include "GameplaySettingsTab.h"
#include "GraphicsSettingsTab.h"
#include "Components/Button.h"
#include "Components/WidgetSwitcher.h"
#include "NakedDesire/Global/NakedDesireUserSettings.h"
#include "NakedDesire/UI/TextButton.h"
void USettingsScreenWidget::NativeOnActivated()
{
Super::NativeOnActivated();
GameplayTabButton->OnClicked.AddUniqueDynamic(this, &USettingsScreenWidget::ShowGameplayTab);
AudioTabButton->OnClicked.AddUniqueDynamic(this, &USettingsScreenWidget::ShowAudioTab);
GraphicsTabButton->OnClicked.AddUniqueDynamic(this, &USettingsScreenWidget::ShowGraphicsTab);
ApplyButton->OnClicked.AddUniqueDynamic(this, &USettingsScreenWidget::OnApplyClicked);
BackButton->OnClicked.AddUniqueDynamic(this, &USettingsScreenWidget::OnBackClicked);
GameplayTabButton->OnClicked().AddUObject(this, &USettingsScreenWidget::ShowGameplayTab);
AudioTabButton->OnClicked().AddUObject(this, &USettingsScreenWidget::ShowAudioTab);
GraphicsTabButton->OnClicked().AddUObject(this, &USettingsScreenWidget::ShowGraphicsTab);
ApplyButton->OnClicked().AddUObject(this, &USettingsScreenWidget::OnApplyClicked);
BackButton->OnClicked().AddUObject(this, &USettingsScreenWidget::OnBackClicked);
// Pull live values into every tab so the controls reflect the current state.
GameplayTab->RefreshFromSettings();
@@ -39,16 +38,25 @@ void USettingsScreenWidget::NativeOnDeactivated()
void USettingsScreenWidget::ShowGameplayTab()
{
TabSwitcher->SetActiveWidget(GameplayTab);
GameplayTabButton->SetIsActive(true);
AudioTabButton->SetIsActive(false);
GraphicsTabButton->SetIsActive(false);
}
void USettingsScreenWidget::ShowAudioTab()
{
TabSwitcher->SetActiveWidget(AudioTab);
GameplayTabButton->SetIsActive(false);
AudioTabButton->SetIsActive(true);
GraphicsTabButton->SetIsActive(false);
}
void USettingsScreenWidget::ShowGraphicsTab()
{
TabSwitcher->SetActiveWidget(GraphicsTab);
GameplayTabButton->SetIsActive(false);
AudioTabButton->SetIsActive(false);
GraphicsTabButton->SetIsActive(true);
}
void USettingsScreenWidget::OnApplyClicked()
@@ -6,7 +6,7 @@
#include "CommonActivatableWidget.h"
#include "SettingsScreenWidget.generated.h"
class UButton;
class UTextButton;
class UWidgetSwitcher;
class UGameplaySettingsTab;
class UAudioSettingsTab;
@@ -29,19 +29,19 @@ private:
TObjectPtr<UWidgetSwitcher> TabSwitcher;
UPROPERTY(meta = (BindWidget))
TObjectPtr<UButton> GameplayTabButton;
TObjectPtr<UTextButton> GameplayTabButton;
UPROPERTY(meta = (BindWidget))
TObjectPtr<UButton> AudioTabButton;
TObjectPtr<UTextButton> AudioTabButton;
UPROPERTY(meta = (BindWidget))
TObjectPtr<UButton> GraphicsTabButton;
TObjectPtr<UTextButton> GraphicsTabButton;
UPROPERTY(meta = (BindWidget))
TObjectPtr<UButton> ApplyButton;
TObjectPtr<UTextButton> ApplyButton;
UPROPERTY(meta = (BindWidget))
TObjectPtr<UButton> BackButton;
TObjectPtr<UTextButton> BackButton;
UPROPERTY(meta = (BindWidget))
TObjectPtr<UGameplaySettingsTab> GameplayTab;