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);
    }
Exemple #2
0
    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);
        }