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; public Switch inGameAudioEffectsSwitch; public override void Initialize() { mainVolumeModifier.SetUp(gameSettings.masterVolume, 10); mainVolumeModifier.SetMinMax(0, 100); mainVolumeModifier.updateValueAction = () => { gameSettings.masterVolume = mainVolumeModifier.GetValue(); SettingsManager.instance.ApplyAudioSettings(); }; musicVolumeModifier.SetUp(gameSettings.musicVolume, 10); musicVolumeModifier.SetMinMax(0, 100); musicVolumeModifier.updateValueAction = () => { gameSettings.musicVolume = musicVolumeModifier.GetValue(); SettingsManager.instance.ApplyAudioSettings(); }; sfxVolumeModifier.SetUp(gameSettings.soundEffectVolume, 10); sfxVolumeModifier.SetMinMax(0, 100); sfxVolumeModifier.updateValueAction = () => { gameSettings.soundEffectVolume = sfxVolumeModifier.GetValue(); SettingsManager.instance.ApplyAudioSettings(); }; uiVolumeModifier.SetUp(gameSettings.uiVolume, 10); uiVolumeModifier.SetMinMax(0, 100); uiVolumeModifier.updateValueAction = () => { gameSettings.uiVolume = uiVolumeModifier.GetValue(); SettingsManager.instance.ApplyAudioSettings(); }; inGameAudioEffectsSwitch.SetUp(gameSettings.enableInGameAudioEffects); inGameAudioEffectsSwitch.updateValueAction = () => { gameSettings.enableInGameAudioEffects = inGameAudioEffectsSwitch.GetValue(); SettingsManager.instance.ApplyInGameAudioEffectsSettings(); }; } public override void SetValuesFromSettings() { mainVolumeModifier.SetValue(gameSettings.masterVolume); musicVolumeModifier.SetValue(gameSettings.musicVolume); sfxVolumeModifier.SetValue(gameSettings.soundEffectVolume); uiVolumeModifier.SetValue(gameSettings.uiVolume); inGameAudioEffectsSwitch.SetValue(gameSettings.enableInGameAudioEffects); } } }