Beispiel #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;
        }
Beispiel #2
0
 /// <summary>
 /// Проверка ответа с вариантами
 /// </summary>
 /// <param name="number">номер вопроса</param>
 public void CheckPlayerAnswer(int number)
 {
     if (_tasksCountries.QuestionsHelpers.TaskItems[_tasksCountries.Progress - 1].Correct == number)
     {
         CorrectAnswerAccepted();
     }
     else
     {
         _pointsEarned.ChangeQuantityCoins(-20);
         PlayerPrefs.SetInt("countries-error", PlayerPrefs.GetInt("countries-error") + 1);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Использование подсказки
        /// </summary>
        /// <param name="number">подсказка</param>
        private void UseGameHint(ref Hint hint)
        {
            _pointsEarned.ChangeQuantityCoins(-hint.Cost);
            hint.Activity = false;

            SwitchToolbar();

            // Если выбран не пропуск
            if (hint.Pass == false)
            {
                ShowAllLetters();

                // Если уже были скрыты лишние буквы, повторяем скрытие
                if (_hints[1].Activity == false)
                {
                    HideExtraLetters();
                }

                PlayerPrefs.SetInt("countries-tips", PlayerPrefs.GetInt("countries-tips") + 1);
            }
            else
            {
                PlayerPrefs.SetInt("countries-pass", PlayerPrefs.GetInt("countries-pass") + 1);
            }

            _tasksCountries.Answer.ResetPlayerAnswer();
        }
Beispiel #4
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;
        }
Beispiel #5
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);
            }
        }