private static void Save(string path, AudioSettingsData audioSettings = null) { if (System.IO.File.Exists(path) == false) { Debug.LogError("Unable to read file at " + path + "; File does not exist"); return; } if (audioSettings == null) { audioSettings = ReadData(path); if (audioSettings == null) { audioSettings = CreateNewSettingsFile(); } } audioSettings.generalVolume = currentGeneralVolume; audioSettings.musicVolume = currentMusicVolume; audioSettings.vfxVolume = currentVFXVolume; // Form contents, encrypt them and write them to the file string contents = JsonUtility.ToJson(audioSettings, true); System.IO.File.WriteAllText(path, contents); }
private void Start() { string filePath = Application.persistentDataPath + "/" + "Config.json"; if (System.IO.File.Exists(filePath) == false) { System.IO.File.Create(filePath).Close(); AudioSettingsUI.CreateNewSettingsFile(); } AudioSettingsData audioData = AudioSettingsUI.ReadData(filePath); AudioManager audioManager = FindObjectOfType <AudioManager>(); audioManager.audioMixer.SetFloat("generalVolume", audioData.generalVolume); audioManager.audioMixer.SetFloat("musicVolume", audioData.musicVolume); audioManager.audioMixer.SetFloat("sfxVolume", audioData.vfxVolume); QualitySettings.vSyncCount = 0; Application.targetFrameRate = 30; if (SceneManager.GetActiveScene().buildIndex == 0) { FindObjectOfType <AudioManager>().Play("Intro Music"); } }
/// <summary> /// Apply settings /// </summary> /// <param name="audioSettings">Audio settings</param> public void ApplySettings(AudioSettingsData audioSettings) { if (audioSettings != null) { foreach (AudioSource audio_source in AudioSources) { audioSettings.ApplySettings(audio_source); } } }
public static AudioSettingsData CreateNewSettingsFile() { AudioSettingsData audioData = new AudioSettingsData(); audioData.CreateDefault(); filePath = Application.persistentDataPath + "/Config.json"; Save(filePath, audioData); return(audioData); }
private void InitData() { AudioSettingsData audioSettingsData = ReadData(filePath); if (audioSettingsData == null) { audioSettingsData = CreateNewSettingsFile(); } AudioSettingsData data = audioSettingsData; currentGeneralVolume = data.generalVolume; currentMusicVolume = data.musicVolume; currentVFXVolume = data.vfxVolume; generalSlider.value = currentGeneralVolume; musicSlider.value = currentMusicVolume; vfxSlider.value = currentVFXVolume; }
public static AudioSettingsData ReadData(string path) { if (System.IO.File.Exists(path) == false) { Debug.LogError("Unable to read file at " + path + "; File does not exist"); return(null); } // Get file and decrypt them contents string contents = System.IO.File.ReadAllText(path); // Get game data from retrieved file AudioSettingsData data = JsonUtility.FromJson <AudioSettingsData>(contents); if (data == null) { Debug.LogError("File at " + path + " is corrupted! No file was found"); return(null); } return(data); }
/// <summary> /// Create audio group /// </summary> /// <param name="gameObject">Game object</param> /// <param name="soundChannelCount">Sound channel count</param> /// <param name="audioSettings">Audio settings</param> /// <returns>Audio group if successful, otherwise "null"</returns> public static AudioGroup CreateAudioGroup(GameObject gameObject, uint soundChannelCount, AudioSettingsData audioSettings) { AudioGroup ret = null; if ((gameObject != null) && (soundChannelCount > 0U)) { AudioSource[] audio_sources = new AudioSource[soundChannelCount]; for (uint i = 0U; i != soundChannelCount; i++) { AudioSource audio_source = gameObject.AddComponent <AudioSource>(); if (audioSettings != null) { audioSettings.ApplySettings(audio_source); } audio_sources[i] = audio_source; } ret = new AudioGroup(audio_sources); } return(ret); }