Esempio n. 1
0
 public void StopBgm(float timeFade = 0f)
 {
     if (timeFade <= 0f)
     {
         bgmSource.Stop();
         subBgmSource.Stop();
     }
     else
     {
         StartCoroutine(FadeOutBgm(timeFade));
     }
 }
Esempio n. 2
0
    private IEnumerator CrossFadeBgm(AudioClip clip, float duration)
    {
        isCrossFading = true;

        BgmSource tmp = bgmSource;

        bgmSource    = subBgmSource;
        subBgmSource = tmp;

        bgmSource.clip = clip;
        bgmSource.time = 0f;
        bgmSource.Play();

        float time = 0f;

        while (time < duration)
        {
            float t = time / duration;
            bgmSource.volume    = Mathf.Lerp(0f, bgmVolume, t);
            subBgmSource.volume = Mathf.Lerp(bgmVolume, 0f, t);
            yield return(null);

            time += Time.unscaledDeltaTime;
        }
        bgmSource.volume = bgmVolume;
        subBgmSource.Stop();

        isCrossFading = false;
    }
Esempio n. 3
0
 private void InitializeBGM()
 {
     stageReactiveProperty.Subscribe((stage) =>
     {
         if (stage >= BgmClips.Length)
         {
             return;
         }
         BgmSource.Stop();
         BgmSource.clip = BgmClips[stage];
         BgmSource.Play();
     });
 }
Esempio n. 4
0
    /********************
    * Functions for bgm *
    ********************/

    public bool PlayBgm(AudioClip clip, float timeCrossFade = 0f)
    {
        if (isCrossFading)
        {
            return(false);
        }

        isBgmLoop = false;
        if (timeCrossFade <= 0f)
        {
            bgmSource.Stop();
            bgmSource.volume = bgmVolume;
            bgmSource.clip   = clip;
            bgmSource.time   = 0f;
            bgmSource.Play();
        }
        else
        {
            StartCoroutine(CrossFadeBgm(clip, timeCrossFade));
        }

        return(true);
    }
Esempio n. 5
0
 public void StopBgm()
 {
     BgmSource.Stop();
 }
Esempio n. 6
0
 public void PlayBgm()
 {
     BgmSource.Stop();
     BgmSource.Play();
 }
Esempio n. 7
0
 public void PlayBgm(AudioClip clip)
 {
     BgmSource.Stop();
     BgmSource.clip = clip;
     BgmSource.Play();
 }