private void Awake() { _carDodgeEventListener.OnEventHappend += OnCarDodge; _carCollisionEventListener.OnEventHappend += OnCarCollision; SetVolume(_volume.value); _currentPlayer = _menuMusicPlayer; _menuMusicPlayer.Play(); }
private IEnumerator FadeMusicTo(AudioSourcePlayer to) { if (_currentPlayer == null) { yield return(StartCoroutine(FadeMusicIn(to))); yield break; } yield return(StartCoroutine(FadeMusicOut(_currentPlayer))); StartCoroutine(FadeMusicIn(to)); }
private IEnumerator FadeMusicOut(AudioSourcePlayer to) { var timer = 0f; var halfFadeTime = _fadeTime / 2f; while (timer < halfFadeTime) { timer += Time.deltaTime; var volume = Mathf.Lerp(_volume.value, 0f, timer / halfFadeTime); to.SetVolume(volume); yield return(null); } to.Stop(); }
private IEnumerator FadeMusicIn(AudioSourcePlayer to) { if (!to.IsPlaying) { to.Play(); } if (_currentPlayer == to) { yield break; } _currentPlayer = to; var timer = 0f; var halfFadeTime = _fadeTime / 2f; while (timer < halfFadeTime) { timer += Time.deltaTime; var volume = Mathf.Lerp(0f, _volume.value, timer / halfFadeTime); to.SetVolume(volume); yield return(null); } }