Esempio n. 1
0
    /// <summary>
    /// Sets the game to paused
    /// </summary>
    private void SetPause()
    {
        _isPaused = !_isPaused;
        if (_isPaused)
        {
            _cursorShouldBeOn = Cursor.visible;
            Cursor.visible    = true;

            _audioMixer.SetFloat(_soundAudioEffectName, _soundCutOffFreqPause);
            _audioMixer.SetFloat(_musicAudioEffectName, _musicCutOffFreqPause);

            if (_pauseMenuBackdrop != null)
            {
                _pauseMenuBackdrop.SetActive(true);
            }

            Time.timeScale = 0;

            if (PauseState != null)
            {
                PauseState.Invoke(_isPaused);
            }
        }
        else if (!_isPaused)
        {
            Cursor.visible = _cursorShouldBeOn;

            _audioMixer.SetFloat(_soundAudioEffectName, NORMAL_CUTOFF_FREQ_PAUSE);
            _audioMixer.SetFloat(_musicAudioEffectName, NORMAL_CUTOFF_FREQ_PAUSE);

            if (_pauseMenuBackdrop != null)
            {
                _pauseMenuBackdrop.SetActive(false);
            }

            Time.timeScale = 1;

            if (PauseState != null)
            {
                PauseState.Invoke(_isPaused);
            }

            _parentingIsHard.transform.position = _parentingPos;
        }
    }