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)); }
/// <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))); } }
/// <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))); }
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; } } }
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; } } }
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); } } } }
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(); }
public PYPlayerClip(string name, AudioClip clip, PYGroupTag group) : base(name) { Clip = clip; Group = group; }
public AudioGroup(PYGroupTag group) { Group = group; Volume = 1; Mute = false; }
public AudioTrack(PYGroupTag groupTag, AudioClip clip) { GroupTag = groupTag; Clip = clip; }
public AudioTrack(string tag, PYGroupTag groupTag, string pathToClip) { Tag = tag; GroupTag = groupTag; PathToClip = pathToClip; }
public float GetGroupVolume(PYGroupTag group) { return(Groups[group].Volume); }
public bool IsMute(PYGroupTag groupTag) { return(Groups[groupTag].Mute); }
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))); }
/// <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_", ""))))); }