69 lines
2.8 KiB
C#
69 lines
2.8 KiB
C#
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, "Menu UI/Settings_Master_Volume");
|
|
mainVolumeModifier.SetMinMax(0, 100);
|
|
mainVolumeModifier.updateValueAction = () =>
|
|
{
|
|
gameSettings.masterVolume = mainVolumeModifier.GetValue();
|
|
SettingsManager.instance.ApplyAudioSettings();
|
|
};
|
|
|
|
musicVolumeModifier.SetUp(gameSettings.musicVolume, 10, "Menu UI/Settings_Music_Volume");
|
|
musicVolumeModifier.SetMinMax(0, 100);
|
|
musicVolumeModifier.updateValueAction = () =>
|
|
{
|
|
gameSettings.musicVolume = musicVolumeModifier.GetValue();
|
|
SettingsManager.instance.ApplyAudioSettings();
|
|
};
|
|
|
|
sfxVolumeModifier.SetUp(gameSettings.soundEffectVolume, 10, "Menu UI/Settings_SFX_Volume");
|
|
sfxVolumeModifier.SetMinMax(0, 100);
|
|
sfxVolumeModifier.updateValueAction = () =>
|
|
{
|
|
gameSettings.soundEffectVolume = sfxVolumeModifier.GetValue();
|
|
SettingsManager.instance.ApplyAudioSettings();
|
|
};
|
|
|
|
uiVolumeModifier.SetUp(gameSettings.uiVolume, 10, "Menu UI/Settings_UI_Volume");
|
|
uiVolumeModifier.SetMinMax(0, 100);
|
|
uiVolumeModifier.updateValueAction = () =>
|
|
{
|
|
gameSettings.uiVolume = uiVolumeModifier.GetValue();
|
|
SettingsManager.instance.ApplyAudioSettings();
|
|
};
|
|
|
|
inGameAudioEffectsSwitch.SetUp(gameSettings.enableInGameAudioEffects,
|
|
"Menu UI/Settings_InGame_Audio_Effects");
|
|
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);
|
|
}
|
|
}
|
|
}
|