Пример #1
0
        /// <summary>
        /// Отображение результатов уровня
        /// </summary>
        /// <param name="victory">итог уровня</param>
        private void ShowResults(bool victory)
        {
            ShowCorrectPhotos();

            if (victory == true)
            {
                _question.text = "Уровень пройден!" + IndentsHelpers.LineBreak(1);
                PlayerPrefs.SetInt("photo-quiz-successfully", PlayerPrefs.GetInt("photo-quiz-successfully") + 1);

                _pointsEarned.ChangeQuantityCoins(50);
                _pointsEarned.ChangeTotalScore(5);
            }
            else
            {
                _question.text = "Уровень провален!" + IndentsHelpers.LineBreak(1);
                _pointsEarned.ChangeQuantityCoins(-20);
            }

            _question.text += _playersHelpers.PhotoTasks[_progress].Description;

            _progress++;
            _setsHelper.arraySets[Sets.Category - 1]++;
            PlayerPrefs.SetString("photo-quiz", JsonUtility.ToJson(_setsHelper));

            _updateTask.interactable = true;
        }
Пример #2
0
        /// <summary>
        /// Проверка ответа
        /// </summary>
        /// <param name="state">состояние кнопки</param>
        public void CheckAnswer(bool state)
        {
            // Останавливаем отсчет
            StopCoroutine(_coroutine);

            if (_factsHelper.Facts[_stage].Answer == state)
            {
                _pointsEarned.ChangeQuantityCoins(50);
                _pointsEarned.ChangeTotalScore(5);

                _victory.Play();

                _question.text = _factsHelper.Facts[_stage].Description;

                PlayerPrefs.SetInt("facts-answer", PlayerPrefs.GetInt("facts-answer") + 1);
            }
            else
            {
                _warnings++;
                // Отображаем карточку предупреждения
                _cards[_warnings - 1].SetActive(true);

                PlayerPrefs.SetInt("facts-errors", PlayerPrefs.GetInt("facts-errors") + 1);

                _pointsEarned.ChangeQuantityCoins(-20);

                if (_warnings >= 2)
                {
                    _question.text = (_timer.Seconds > 0) ?
                                     "Неправильно!" + IndentsHelpers.LineBreak(1) + "Получена красная карточка, подборка провалена." :
                                     "Время закончилось!" + IndentsHelpers.LineBreak(1) + "Получено предупреждение за затяжку времени, подборка провалена.";

                    CloseCategory("loss");
                    return;
                }
                else
                {
                    _question.text = (_timer.Seconds > 0) ?
                                     "Неправильно!" + IndentsHelpers.LineBreak(1) + "Получена первая желтая карточка." :
                                     "Время закончилось!" + IndentsHelpers.LineBreak(1) + "Получена первая желтая карточка.";
                }
            }

            _stage++;
            _updateButton.interactable = true;
        }
Пример #3
0
        /// <summary>
        /// Увеличение прогресса викторины
        /// </summary>
        /// <param name="skipQuestion">пропуск вопроса</param>
        private void IncreaseProgress(bool skipQuestion = false)
        {
            if (skipQuestion == false)
            {
                _pointsEarned.ChangeTotalScore(5);
                _pointsEarned.ChangeQuantityCoins(50);

                PlayerPrefs.SetInt("countries-answer", PlayerPrefs.GetInt("countries-answer") + 1);
            }

            // Увеличиваем прогресс категории
            _tasksCountries.SetsHelper.arraySets[Sets.Category]++;
            PlayerPrefs.SetString("sets", JsonUtility.ToJson(_tasksCountries.SetsHelper));
        }
Пример #4
0
        /// <summary>
        /// Покупка закрытой карточки
        /// </summary>
        /// <param name="number">номер карточки</param>
        private void BuyCard(int number)
        {
            if (PlayerPrefs.GetInt("coins") >= 950)
            {
                _pointsEarned.ChangeQuantityCoins(-950);
                _pointsEarned.ChangeTotalScore(500);

                _statusHelper.status[number] = "yes";
                SaveListStatuses(_statusHelper, "legends");

                PlayerPrefs.SetInt("legends-open", PlayerPrefs.GetInt("legends-open") + 1);

                _cards[number].ShowImageCard();
                ShowOpeningEffect(_cards[number].transform);

                // Событие (для статистики) по покупке легендарной карточки
                FirebaseAnalytics.LogEvent("buying_card");
            }
            else
            {
                _pointsEarned.ShowCurrentQuantityCoins(-950);
            }
        }