public override void OnClose() { AudioSvc audio = AmbitionApp.GetService <AudioSvc>(); string path = Path.Combine(UnityEngine.Application.persistentDataPath, Filepath.SETTINGS); _settings.Volume = new Dictionary <AudioChannel, int>() { { AudioChannel.Ambient, audio.GetVolume(AudioChannel.Ambient) }, { AudioChannel.Sfx, audio.GetVolume(AudioChannel.Sfx) }, { AudioChannel.Music, audio.GetVolume(AudioChannel.Music) }, { AudioChannel.Master, audio.GetVolume(AudioChannel.Master) } }; _settings.Resolution = Screen.currentResolution; _settings.Language = _languages[LocSelector.value]; File.WriteAllText(path, JsonConvert.SerializeObject(_settings)); }
// Not used, but useful to keep around IEnumerator SetVolume(AudioChannel channel, int delta) { AudioSvc audio = AmbitionApp.GetService <AudioSvc>(); int volume = audio.GetVolume(channel); do { volume += delta; if (volume < 0) { volume = 0; } else if (volume > 100) { volume = 100; } audio.SetVolume(channel, volume); _settings.Volume[channel] = volume; yield return(null); }while (volume >= 0 && volume <= 100); _settings.Volume[channel] = volume; }