/// <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; }
/// <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; }
/// <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)); }
/// <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); } }