private void UpdateFadeEffect(float deltaTime) { if (_fadeMode == EFadeMode.None) { return; } AudioSource audioSource = _audioSourceWrappers[EAudioLayer.Music].Source; if (audioSource == null) { return; } if (_fadeMode == EFadeMode.FadeIn) { _fadeTimer += deltaTime; if (_fadeTimer < FADE_IN_TIME + 0.5f) { audioSource.volume = _fadeTimer / FADE_IN_TIME; } else { _fadeMode = EFadeMode.None; } } else if (_fadeMode == EFadeMode.FadeOut) { _fadeFrame++; if (_fadeFrame <= FADE_OUT_FRAME) { audioSource.volume = 1f - (float)_fadeFrame / FADE_OUT_FRAME; } else { _fadeMode = EFadeMode.None; } } }
private void PlayFadeEffect(EFadeMode fadeMode) { _fadeTimer = 0f; _fadeFrame = 0; _fadeMode = fadeMode; }