public void OpenAndInitWithQuizHisto(QuizHistoResponse quizHisto) { _isChallAndImSender = false; _isChallAndImReceiver = true; gameObject.SetActive(true); _histoQuizResponse = quizHisto; _quiz = new Quiz(quizHisto); _nbQuestions = _quiz.Questions.Length; ResultRoot.SetActive(false); QuizRoot.SetActive(true); //TODO Wait for quiz in async StartQuizButton.image.DOFade(1f, 0f); StartQuizButton.gameObject.SetActive(true); _starting = false; if (_questionObjects != null) { foreach (QuestionObject qo in _questionObjects) { Destroy(qo.gameObject); } } _questionObjects = new QuestionObject[_nbQuestions]; }
public Quiz(QuizHistoResponse quizHistoResponse) { Questions = new Question[quizHistoResponse.quiz.Length]; for (int i = 0; i < quizHistoResponse.quiz.Length; i++) { Questions[i] = new Question(quizHistoResponse.quiz[i]); } }
private void AcceptChallenge(string from, string uuid) { string result = WebUtility.Instance.Get(ACCEPT_CHALLENGE_URL, ("fromId", from), ("uuid", uuid)); StringReader reader = new StringReader(result); JsonSerializer ser = JsonSerializer.Create(new JsonSerializerSettings()); QuizHistoResponse histoResponse = (QuizHistoResponse)ser.Deserialize(reader, typeof(QuizHistoResponse)); Close(); (Program.QuizPage as QuizPage).OpenAndInitWithQuizHisto(histoResponse); }
private void QuizCompleted() { QuizResponse toPost = _quizResponse; if (toPost != null) { toPost.userScore = _goodAnswerCount; toPost.userLocalId = Program.LoginData.localId; for (int i = 0; i < _nbQuestions; i++) { toPost.quiz[i].userResponse = _userResponses[i].ToString(); } } if (_isChallAndImSender) { WebUtility.Instance.Post(ADD_DEFI_URL, toPost, ("userLocalId", Program.LoginData.localId), ("cibleName", (Program.SearchPage as SearchPage).CredsPair.Value.challName), ("cibleId", (Program.SearchPage as SearchPage).CredsPair.Value.challUserId)); } else if (_isChallAndImReceiver) { QuizHistoResponse toHistoPost = _histoQuizResponse; toHistoPost.histo.userScore2 = _goodAnswerCount; for (int i = 0; i < _nbQuestions; i++) { toHistoPost.quiz[i].userResponse = _userResponses[i].ToString(); } WebUtility.Instance.Post(SAVE_DEFI_URL, toHistoPost, ("userLocalId", Program.LoginData.localId)); } else { WebUtility.Instance.Post(SAVE_QUIZ_URL, toPost); } ResultRoot.SetActive(true); QuizRoot.SetActive(false); ResultText.text = $"{_goodAnswerCount}/{_nbQuestions}"; ResultText.transform.DOScale(0f, 0f); ResultText.transform.DOScale(1f, 0.75f).SetEase(Ease.OutBack).SetDelay(1f); QuitQuizButton.transform.DOScale(0f, 0f); QuitQuizButton.transform.DOScale(1f, 0.75f).SetEase(Ease.OutBack).SetDelay(2f); }