示例#1
0
        public static void PlayOneShot(AudioBundle bundle, string audioName, Action onAudioEnd, float volumeScale = 1.0f)
        {
            AudioClip clip = GetClip(bundle, audioName);

            SFXSource.PlayOneShot(clip, volumeScale);
            Framework.Extensions.DelayAction(clip.length, onAudioEnd);
        }
示例#2
0
        public static AudioSource SetClip(AudioBundle bundle, string audioName, AudioSourceType source = AudioSourceType.SFX)
        {
            AudioClip clip = GetClip(bundle, audioName);

            GetSource(source).clip = clip;
            return(SFXSource);
        }
示例#3
0
        public static void Play(AudioBundle bundle, string audioName, AudioSourceType source = AudioSourceType.SFX, ulong delay = 0)
        {
            AudioClip clip = GetClip(bundle, audioName);

            GetSource(source).clip = clip;
            GetSource(source).Play(delay);
        }
示例#4
0
        public static void Play(AudioBundle bundle, string audioName, Action onAudioEnd, AudioSourceType source = AudioSourceType.SFX, ulong delay = 0)
        {
            AudioClip clip = GetClip(bundle, audioName);

            GetSource(source).clip = clip;
            GetSource(source).Play(delay);
            Framework.Extensions.DelayAction(clip.length + delay, onAudioEnd);
        }
示例#5
0
        public static AudioClip GetClip(AudioBundle bundle, string audioName)
        {
            int length = bundle.AudioObjects.Length;

            for (int i = 0; i < length; i++)
            {
                if (bundle.AudioObjects[i].Name == audioName)
                {
                    return(bundle.AudioObjects[i].Clip);
                }
            }
            Debug.LogError("Audio clip named " + audioName + " in this bundle not found");
            return(null);
        }
示例#6
0
 public static void RemoveFromPool(AudioBundle bundle)
 {
     audioPool.Remove(bundle.name);
 }
示例#7
0
 public static void AddToPool(AudioBundle bundle)
 {
     AddToPool(bundle.name, bundle);
 }
示例#8
0
 public static void AddToPool(string bundleName, AudioBundle bundle)
 {
     audioPool[bundleName] = bundle;
 }
示例#9
0
 public static void PlayOneShot(AudioBundle bundle, string audioName, float volumeScale = 1.0f)
 {
     SFXSource.PlayOneShot(GetClip(bundle, audioName), volumeScale);
 }