Files
ichni_Official/Assets/Scripts/UI/Settings/AudioSettingsWindow.cs

69 lines
2.8 KiB
C#
Raw Normal View History

2025-08-11 14:04:06 -04:00
using System.Collections;
using System.Collections.Generic;
using Ichni.UI;
using UnityEngine;
namespace Ichni.Menu
{
public class AudioSettingsWindow : SettingsWindow
{
public ValueModifier mainVolumeModifier;
public ValueModifier musicVolumeModifier;
public ValueModifier sfxVolumeModifier;
public ValueModifier uiVolumeModifier;
2026-07-19 16:44:58 -04:00
public Switch inGameAudioEffectsSwitch;
2025-08-11 14:04:06 -04:00
public override void Initialize()
{
2025-08-27 21:45:18 -04:00
mainVolumeModifier.SetUp(gameSettings.masterVolume, 10, "Menu UI/Settings_Master_Volume");
2025-08-11 14:04:06 -04:00
mainVolumeModifier.SetMinMax(0, 100);
mainVolumeModifier.updateValueAction = () =>
{
gameSettings.masterVolume = mainVolumeModifier.GetValue();
2026-07-19 16:44:58 -04:00
SettingsManager.instance.ApplyAudioSettings();
2025-08-11 14:04:06 -04:00
};
2025-08-27 21:45:18 -04:00
musicVolumeModifier.SetUp(gameSettings.musicVolume, 10, "Menu UI/Settings_Music_Volume");
2025-08-11 14:04:06 -04:00
musicVolumeModifier.SetMinMax(0, 100);
musicVolumeModifier.updateValueAction = () =>
{
gameSettings.musicVolume = musicVolumeModifier.GetValue();
2026-07-19 16:44:58 -04:00
SettingsManager.instance.ApplyAudioSettings();
2025-08-11 14:04:06 -04:00
};
2025-08-27 21:45:18 -04:00
sfxVolumeModifier.SetUp(gameSettings.soundEffectVolume, 10, "Menu UI/Settings_SFX_Volume");
2025-08-11 14:04:06 -04:00
sfxVolumeModifier.SetMinMax(0, 100);
sfxVolumeModifier.updateValueAction = () =>
{
gameSettings.soundEffectVolume = sfxVolumeModifier.GetValue();
2026-07-19 16:44:58 -04:00
SettingsManager.instance.ApplyAudioSettings();
2025-08-11 14:04:06 -04:00
};
2025-08-27 21:45:18 -04:00
uiVolumeModifier.SetUp(gameSettings.uiVolume, 10, "Menu UI/Settings_UI_Volume");
2025-08-11 14:04:06 -04:00
uiVolumeModifier.SetMinMax(0, 100);
uiVolumeModifier.updateValueAction = () =>
{
gameSettings.uiVolume = uiVolumeModifier.GetValue();
2026-07-19 16:44:58 -04:00
SettingsManager.instance.ApplyAudioSettings();
};
inGameAudioEffectsSwitch.SetUp(gameSettings.enableInGameAudioEffects,
"Menu UI/Settings_InGame_Audio_Effects");
inGameAudioEffectsSwitch.updateValueAction = () =>
{
gameSettings.enableInGameAudioEffects = inGameAudioEffectsSwitch.GetValue();
SettingsManager.instance.ApplyInGameAudioEffectsSettings();
2025-08-11 14:04:06 -04:00
};
}
public override void SetValuesFromSettings()
{
mainVolumeModifier.SetValue(gameSettings.masterVolume);
musicVolumeModifier.SetValue(gameSettings.musicVolume);
sfxVolumeModifier.SetValue(gameSettings.soundEffectVolume);
uiVolumeModifier.SetValue(gameSettings.uiVolume);
2026-07-19 16:44:58 -04:00
inGameAudioEffectsSwitch.SetValue(gameSettings.enableInGameAudioEffects);
2025-08-11 14:04:06 -04:00
}
}
2026-07-19 16:44:58 -04:00
}