コード例 #1
0
        private async void OnAnswerChosen(string answer)
        {
            foreach (var answerView in answerViews)
            {
                answerView.Interactable = false;
            }

            var chosenAnswer = answerViews.First(t => t.CurrentAnswer == answer);

            if (chosenAnswer.CurrentAnswer == _currentQuestion.CorrectAnswer)
            {
                chosenAnswer.SetBackgroundColor(correctAnswerColor);
                AnsweredCorrectly?.Invoke(true);
            }
            else
            {
                chosenAnswer.SetBackgroundColor(incorrectAnswerColor);
                AnsweredCorrectly?.Invoke(false);
            }

            if (_autoSetNextQuestion)
            {
                await UniTask.Delay(TimeSpan.FromSeconds(afterClickDelay)).WithCancellation(_cancelQuiz.Token)
                .SuppressCancellationThrow();

                SetQuestion(GameData.GetNextQuestion());
            }
        }
コード例 #2
0
 public void AnswerQuestion()
 {
     AnsweredIncorrectly.SetActive(false);
     if (answer.text.Trim().ToLower().Contains(questionAnswer.Trim().ToLower()))
     {
         Destroy(Treasure);
         QuestionModal.SetActive(false);
         AnsweredCorrectly.SetActive(true);
         itemLoader.UpdateCoinsText(itemLoader.coinsValue + 200);
         itemLoader.UpdateFirebaseCoins(itemLoader.coinsValue + 200);
         RemoveTreasureFirebase();
     }
     else
     {
         AnsweredIncorrectly.SetActive(true);
     }
 }
コード例 #3
0
 public void FinishHunt()
 {
     AnsweredCorrectly.SetActive(false);
 }