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; }
private void InitializeBGM() { stageReactiveProperty.Subscribe((stage) => { if (stage >= BgmClips.Length) { return; } BgmSource.Stop(); BgmSource.clip = BgmClips[stage]; BgmSource.Play(); }); }
public void StopBgm() { BgmSource.Stop(); }
public void UnPauseBgm() { BgmSource.UnPause(); }
public void PauseBgm() { BgmSource.Pause(); }
public void PlayBgm() { BgmSource.Stop(); BgmSource.Play(); }
public void PlayBgm(AudioClip clip) { BgmSource.Stop(); BgmSource.clip = clip; BgmSource.Play(); }