Esempio n. 1
0
        /// <summary>
        /// Отображение результата уровня
        /// </summary>
        public void ShowResult()
        {
            // Отключаем фоновую музыку
            _ = StartCoroutine(_backgroundMusic.ChangeVolume(-0.1f, x => x > 0));

            // Отображаем необходимые элементы меню
            _menuItems[(int)MenuItems.Blackout].SetActive(true);
            _menuItems[(int)MenuItems.Characters].SetActive(true);
            _menuItems[(int)MenuItems.Menu].SetActive(true);
            _menuItems[(int)MenuItems.Results].SetActive(true);

            // Обновляем общее количество пойманных персонажей
            PlayerPrefs.SetInt("victims", PlayerPrefs.GetInt("victims") + _levelManager.SavedVictims);

            if (LevelManager.GameMode == LevelManager.GameModes.Victory)
            {
                // Удваиваем набранные очки
                _levelManager.ChangeScore(_levelManager.Score);

                // Отображаем панель победы
                _menuItems[(int)MenuItems.Victory].SetActive(true);

                // Устанавливаем звук и воспроизводим
                _audioResults.clip = _audioClips[(int)AudioClips.Victory];
                _playingResults.PlaySound();

                var progress = PlayerPrefs.GetInt("progress");
                // Если прогресс викторины не превышает номер уровня
                if (progress <= LevelSelection.LevelNumber)
                {
                    // Увеличиваем прогресс
                    PlayerPrefs.SetInt("progress", progress + 1);
                }

                // Увеличиваем общий и текущий счет
                PlayerPrefs.SetInt("total-score", PlayerPrefs.GetInt("total-score") + _levelManager.Score);
                PlayerPrefs.SetInt("current-score", PlayerPrefs.GetInt("current-score") + _levelManager.Score);

                AchievementPerLevel();

                // Отображаем счетчик очков
                _ = StartCoroutine(ScoreCounter());
            }
            else
            {
                // Отображаем панель проигрыша
                _menuItems[(int)MenuItems.Lose].SetActive(true);

                // Устанавливаем звук и воспроизводим
                _audioResults.clip = _audioClips[(int)AudioClips.Lose];
                _playingResults.PlaySound();
            }
        }