private void playBGMAuto(string musicName, bool loop)
        {
            TWAudioQueue.SourceData activeSource = bgmQueue.ChangeActiveChannel();
            TWAudioQueue.SourceData lastSource   = bgmQueue.GetLastActive();

            if (lastSource.audio.isPlaying)
            {
                coroutines[lastSource.ID] = StartCoroutine(fadeAudio(lastSource.audio, false, () => { coroutines[lastSource.ID] = null; }));
            }

            if (!activeSource.audio.isPlaying && activeSource.audio.clip == null)
            {
                activeSource.audio.clip   = audioLibrary.GetBGMClip(musicName);
                activeSource.audio.loop   = loop;
                activeSource.audio.volume = 0;
                activeSource.audio.Play();

                coroutines[activeSource.ID] = StartCoroutine(fadeAudio(activeSource.audio, true, () => { coroutines[activeSource.ID] = null; }));
            }
        }
Esempio n. 2
0
 private float getAudioLength(string name, string type)
 {
     if (type.Equals("SFX"))
     {
         return(audioLibrary.GetSFXClip(name).clip.length);
     }
     else if (type.Equals("BGM"))
     {
         return(audioLibrary.GetBGMClip(name).clip.length);
     }
     else
     {
         return(-1);
     }
 }