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;
 }