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