Exemple #1
0
    private void ClearTemporaryData()
    {
        Room.LoadedRooms.Clear();
        EnemyCharacter.ActiveEnemies.Clear();
        _currentStage = null;

        if (_poolManager != null)
        {
            _poolManager.ClearPools();
        }
    }
    void Update()
    {
        if (SettingsMenu.activeSelf)
        {
            musicVolume        = MusicVolume.value;
            MusicSource.volume = musicVolume * 0.7f;
            soundVolume        = SoundVolume.value;
        }

        if (HelpMenu.activeSelf)
        {
            helpLabel.text = helpText[tempTextNumber];
        }

        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (SettingsMenu.activeSelf || HelpMenu.activeSelf || AskQuitMenu.activeSelf || StatisticMenu.activeSelf)
            {
                ClickBackPauseMenu();
            }
            else
            {
                GamePaused = !GamePaused;
                if (GamePaused)
                {
                    PauseMenu.SetActive(true);
                    tempTimeScale  = Time.timeScale;
                    Time.timeScale = 0;
                }
                else
                {
                    UnpauseGame();
                }
            }
        }

        if (player.health <= 0)
        {
            if (timerDealth > 0)
            {
                timerDealth -= Time.deltaTime;
            }
            else
            {
                if (dealthText.color.a < 1)
                {
                    dealthText.text  = "F, чтобы почтить память этого пони";
                    dealthText.color = new Color(1, 1, 1, dealthText.color.a + Time.deltaTime);
                }
                else
                {
                    if (Input.GetKeyDown(KeyCode.F))
                    {
                        PoolManager.ClearPools();
                        SaveGameStats();
                        SceneManager.LoadScene(0);
                    }
                }
            }
        }
    }