66 lines
1.8 KiB
C++
66 lines
1.8 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "SettingsTabWidget.h"
|
|
#include "SettingsAudioWidget.generated.h"
|
|
|
|
class USettingRowWidget;
|
|
|
|
/**
|
|
* L'onglet "Audio" : quatre volumes et le son en arriere-plan.
|
|
*
|
|
* Meme forme que USettingsGameplayWidget -- l'onglet ne stocke rien, chaque ligne
|
|
* ecrit dans USurvivalUserSettings puis demande l'application immediate. La
|
|
* difference tient au verbe appele : ApplyAudioSettings et non
|
|
* ApplySurvivalSettings, parce que les volumes n'interessent pas le pawn et que
|
|
* rediffuser aux widgets a chaque cran de curseur ne servirait a rien.
|
|
*
|
|
* Classe Abstract : on cree un WBP_SettingsAudio qui en herite, avec un
|
|
* WBP_SettingRow par ligne, nomme exactement comme le BindWidget correspondant.
|
|
*/
|
|
UCLASS(Abstract)
|
|
class SURVIVAL_PROJET_API USettingsAudioWidget : public USettingsTabWidget
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
virtual void NativeConstruct() override;
|
|
|
|
virtual void RefreshFromSettings() override;
|
|
virtual void ResetToDefaults() override;
|
|
|
|
protected:
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<USettingRowWidget> MasterVolumeRow;
|
|
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<USettingRowWidget> MusicVolumeRow;
|
|
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<USettingRowWidget> EffectsVolumeRow;
|
|
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<USettingRowWidget> UiVolumeRow;
|
|
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<USettingRowWidget> BackgroundSoundRow;
|
|
|
|
private:
|
|
UFUNCTION()
|
|
void HandleMasterVolumeChanged(int32 NewIndex);
|
|
|
|
UFUNCTION()
|
|
void HandleMusicVolumeChanged(int32 NewIndex);
|
|
|
|
UFUNCTION()
|
|
void HandleEffectsVolumeChanged(int32 NewIndex);
|
|
|
|
UFUNCTION()
|
|
void HandleUiVolumeChanged(int32 NewIndex);
|
|
|
|
UFUNCTION()
|
|
void HandleBackgroundSoundChanged(int32 NewIndex);
|
|
};
|