Example #1
0
        /*! \endcond */

        /// <summary>
        /// Sets the group's volume. During startup (Awake event), the Master Audio prefab will assign any Sound Groups that match to the levels you specify here. This will also set the Group's Volume in the current Scene's Master Audio prefab, if a match exists.
        /// </summary>
        /// <param name="grpName">Group name</param>
        /// <param name="vol">Volume</param>
        public static void SetGroupVolume(string grpName, float vol)
        {
            var groupKey = GetGroupKey(grpName);

            PlayerPrefs.SetFloat(groupKey, vol);

            var ma = MasterAudio.SafeInstance;

            if (ma == null)
            {
                return;
            }

            if (MasterAudio.GrabGroup(grpName, false) != null)
            {
                MasterAudio.SetGroupVolume(grpName, vol);
            }

            if (GroupsUpdatedKeys.Contains(Separator + grpName + Separator))
            {
                return;
            }

            GroupsUpdatedKeys += grpName + Separator;
        }
Example #2
0
        /*! \endcond */

        /// <summary>
        /// Gets the bus volume (used by Master Audio prefab during Awake event to set persistent levels).
        /// </summary>
        /// <returns>The group volume.</returns>
        /// <param name="busName">Group name.</param>
        public static float?GetBusVolume(string busName)
        {
            var busKey = MakeBusKey(busName);

            if (!PlayerPrefs.HasKey(busKey))
            {
                return(null);
            }

            return(PlayerPrefs.GetFloat(busKey));
        }
Example #3
0
        /// <summary>
        /// Gets the group volume (used by Master Audio prefab during Awake event to set persistent levels).
        /// </summary>
        /// <returns>The group volume.</returns>
        /// <param name="grpName">Group name.</param>
        public static float?GetGroupVolume(string grpName)
        {
            var groupKey = GetGroupKey(grpName);

            if (!PlayerPrefs.HasKey(groupKey))
            {
                return(null);
            }

            return(PlayerPrefs.GetFloat(groupKey));
        }
Example #4
0
        private static void ResetPrefs()
        {
            PlayerPrefs.DeleteKey(MasterAudio.StoredLanguageNameKey);

            MasterAudio.UseDbScaleForVolume = false;
            MasterAudio.UseCentsForPitch    = false;
            MasterAudio.HideLogoNav         = false;
            MasterAudioSettings.Instance.InstallationFolderPath   = MasterAudio.MasterAudioDefaultFolder;
            MasterAudioSettings.Instance.MixerWidthSetting        = MasterAudio.MixerWidthMode.Narrow;
            MasterAudioSettings.Instance.EditMAFolder             = false;
            MasterAudioSettings.Instance.BusesShownInNarrow       = true;
            MasterAudioSettings.Instance.ShowWelcomeWindowOnStart = true;

            EditorUtility.SetDirty(MasterAudioSettings.Instance);

            PlayerPrefs.DeleteKey(PersistentAudioSettings.SfxVolKey);
            PlayerPrefs.DeleteKey(PersistentAudioSettings.MusicVolKey);
            PlayerPrefs.DeleteKey(PersistentAudioSettings.SfxMuteKey);
            PlayerPrefs.DeleteKey(PersistentAudioSettings.MusicMuteKey);

            // delete group persistent settings
            var groups = PersistentAudioSettings.GroupsUpdatedKeys.Split(new[] { PersistentAudioSettings.Separator }, StringSplitOptions.RemoveEmptyEntries);

            // ReSharper disable once ForCanBeConvertedToForeach
            for (var i = 0; i < groups.Length; i++)
            {
                var aGrp = groups[i];
                var key  = PersistentAudioSettings.GetGroupKey(aGrp);
                PlayerPrefs.DeleteKey(key);
            }

            PlayerPrefs.DeleteKey(PersistentAudioSettings.GroupKeysKey);

            // bus persistent settings
            var buses = PersistentAudioSettings.BusesUpdatedKeys.Split(new[] { PersistentAudioSettings.Separator }, StringSplitOptions.RemoveEmptyEntries);

            // ReSharper disable once ForCanBeConvertedToForeach
            for (var i = 0; i < buses.Length; i++)
            {
                var aBus = buses[i];
                var key  = PersistentAudioSettings.MakeBusKey(aBus);
                PlayerPrefs.DeleteKey(key);
            }

            PlayerPrefs.DeleteKey(PersistentAudioSettings.BusKeysKey);
        }
Example #5
0
        /*! \endcond */

        /// <summary>
        /// Sets the bus's volume. During startup (Awake event), the Master Audio prefab will assign any buses that match to the levels you specify here. This will also set the Bus's Volume in the current Scene's Master Audio prefab, if a match exists.
        /// </summary>
        /// <param name="busName">Bus name</param>
        /// <param name="vol">Volume</param>
        public static void SetBusVolume(string busName, float vol)
        {
            var busKey = MakeBusKey(busName);

            PlayerPrefs.SetFloat(busKey, vol);

            var ma = MasterAudio.SafeInstance;

            if (ma == null)
            {
                return;
            }
            if (MasterAudio.GrabBusByName(busName) != null)
            {
                MasterAudio.SetBusVolumeByName(busName, vol);
            }

            if (BusesUpdatedKeys.Contains(Separator + busName + Separator))
            {
                return;
            }

            BusesUpdatedKeys += busName + Separator;
        }