Пример #1
0
        public PYAudioSource StartBundleAudio(PYAudioTags audioTag, PYGroupTag group)
        {
            if (audioTag.ToString().StartsWith("B_"))
            {
                return(StartBundleAudioClip(PYBundleManager.Localization.GetAsset <AudioClip>(audioTag.ToString().Replace("B_", "")), audioTag, group));
            }

            return(StartAudio(audioTag));
        }
Пример #2
0
 /// <summary>
 /// Use this to play bundleAudios from Localization folder
 /// </summary>
 /// <param name="audioTag">Use PYAudioTags that start with a B_</param>
 /// <param name="group">In which group/channel this audio will be played</param>
 /// <returns></returns>
 public PYAudioSource StartAudio(PYAudioTags audioTag, PYGroupTag group)
 {
     if (audioTag.ToString().StartsWith("B_"))
     {
         return(StartAudio(PYBundleManager.Localization, audioTag, group));
     }
     else
     {
         return(StartAudio(audioTag, new AudioTrack(audioTag.ToString(), group, GetAudioTrack(audioTag).PathToClip)));
     }
 }
Пример #3
0
        /// <summary>
        /// Use this when you need to play a AudioClip inside a group/channel
        /// </summary>
        /// <param name="audioClip">AudioClip to be played</param>
        /// <param name="group">In which group/channel this audio will be played</param>
        /// <returns></returns>
        public PYAudioSource StartAudio(AudioClip audioClip, PYGroupTag group)
        {
            PYAudioTags audioTag = (PYAudioTags)ConvertNameToTag(audioClip.name);

            PYAudioSource audioSource = GetPYAudioSource(audioTag);

            if (audioSource != null && audioSource.Track.GroupTag == PYGroupTag.Voice)
            {
                return(audioSource);
            }

            return(StartAudio(audioTag, new AudioTrack(group, audioClip)));
        }
Пример #4
0
        public void SetGroupVolume(PYGroupTag group, float volume)
        {
            Groups[group].Volume = volume;

            if (_executingAudioSources == null || _executingAudioSources.Count == 0)
            {
                return;
            }

            for (int x = 0; x < _executingAudioSources.Count; x++)
            {
                if (_executingAudioSources[x].Track.GroupTag == group)
                {
                    _executingAudioSources[x].Source.volume = volume;
                }
            }
        }
Пример #5
0
        public void MuteGroup(PYGroupTag group, bool mute = true)
        {
            Groups[group].Mute = mute;

            if (_executingAudioSources == null || _executingAudioSources.Count == 0)
            {
                return;
            }

            for (int x = 0; x < _executingAudioSources.Count; x++)
            {
                if (_executingAudioSources[x].Track.GroupTag == group)
                {
                    _executingAudioSources[x].Mute = mute;
                }
            }
        }
Пример #6
0
 public void StopGroup(PYGroupTag group, float duration = 0)
 {
     foreach (PYAudioSource item in _executingAudioSources.GetRange(0, _executingAudioSources.Count))
     {
         if (item.Track.GroupTag == group)
         {
             if (duration > 0)
             {
                 Stop(item.AudioTag, duration);
             }
             else
             {
                 Stop(item.AudioTag);
             }
         }
     }
 }
Пример #7
0
        public override void DrawInspector()
        {
            Name = EditorGUILayout.TextField("Name", Name);
            EditorGUILayout.Separator();

            _isShowingUpdateData = EditorGUILayout.Foldout(_isShowingUpdateData, "Update Data");
            if (_isShowingUpdateData)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(15);
                GUILayout.BeginVertical();

                UpdateData.UpdateFromBundle = EditorGUILayout.Toggle("Update From Bundle", UpdateData.UpdateFromBundle);

                GUILayout.BeginHorizontal();
                _isShowingBundlesArray = EditorGUILayout.Foldout(_isShowingBundlesArray, "BundlesToCheck");
                if (GUILayout.Button("+"))
                {
                    AddPYBundleType(PYBundleType.Data);
                }
                else if (GUILayout.Button("-"))
                {
                    RemovePYBundleType();
                }
                GUILayout.EndHorizontal();

                if (UpdateData != null)
                {
                    if (_isShowingBundlesArray)
                    {
                        for (int x = 0; x < UpdateData.BundlesToCheck.Length; x++)
                        {
                            UpdateData.BundlesToCheck[x] = (PYBundleType)EditorGUILayout.EnumPopup("Element " + x, UpdateData.BundlesToCheck[x]);
                        }
                    }
                }

                GUILayout.EndVertical();
                GUILayout.EndHorizontal();
            }

            Clip  = (AudioClip)EditorGUILayout.ObjectField("Clip", Clip, typeof(AudioClip), true);
            Group = (PYGroupTag)EditorGUILayout.EnumPopup("Group", Group);
            base.DrawInspector();
        }
Пример #8
0
 public PYPlayerClip(string name, AudioClip clip, PYGroupTag group)
     : base(name)
 {
     Clip  = clip;
     Group = group;
 }
Пример #9
0
 public AudioGroup(PYGroupTag group)
 {
     Group  = group;
     Volume = 1;
     Mute   = false;
 }
Пример #10
0
 public AudioTrack(PYGroupTag groupTag, AudioClip clip)
 {
     GroupTag = groupTag;
     Clip     = clip;
 }
Пример #11
0
 public AudioTrack(string tag, PYGroupTag groupTag, string pathToClip)
 {
     Tag        = tag;
     GroupTag   = groupTag;
     PathToClip = pathToClip;
 }
Пример #12
0
 public float GetGroupVolume(PYGroupTag group)
 {
     return(Groups[group].Volume);
 }
Пример #13
0
 public bool IsMute(PYGroupTag groupTag)
 {
     return(Groups[groupTag].Mute);
 }
Пример #14
0
        private PYAudioSource StartBundleAudioClip(AudioClip audioClip, PYAudioTags audioTag, PYGroupTag group)
        {
            PYAudioSource audioSource = GetPYAudioSource(audioTag);

            if (audioSource != null && audioSource.Track.GroupTag == PYGroupTag.Voice)
            {
                return(audioSource);
            }

            return(StartAudio(audioTag, new AudioTrack(group, audioClip)));
        }
Пример #15
0
        /// <summary>
        /// Use this to play audios from a specific bundleManager
        /// </summary>
        /// <param name="bundleManager">From which bundleManager the audio will be fetch</param>
        /// <param name="audioTag">Use PYAudioTags that start with a B_</param>
        /// <param name="group">In which group/channel this audio will be played</param>
        /// <returns></returns>
        public PYAudioSource StartAudio(PYBundleSubManager bundleManager, PYAudioTags audioTag, PYGroupTag group)
        {
            PYAudioSource audioSource = GetPYAudioSource(audioTag);

            if (audioSource != null && audioSource.Track.GroupTag == PYGroupTag.Voice)
            {
                return(audioSource);
            }

            return(StartAudio(audioTag, new AudioTrack(group, bundleManager.GetAsset <AudioClip>(audioTag.ToString().Replace("B_", "")))));
        }