public static Question GetQuestion(QuestionSystemEnums.QuestionType qType) { int randomize = 0; bool questionViable = false; string question = ""; List <string> answersList = new List <string>(); questionType = qType; while (!questionViable) { randomize = UnityEngine.Random.Range(0, questionList.Count); switch (questionType) { case QuestionSystemEnums.QuestionType.Antonym: if (questionList [randomize].hasAntonym) { string[] antonym = questionList [randomize].antonym.Split('/'); answersList.Add(antonym [0]); answersList.Add(antonym [1]); question = questionList [randomize].answer; questionViable = true; } break; case QuestionSystemEnums.QuestionType.Synonym: if (questionList [randomize].hasSynonym) { string[] synonym = questionList [randomize].synonym.Split('/'); answersList.Add(synonym [0]); answersList.Add(synonym [1]); question = questionList [randomize].answer; questionViable = true; } break; case QuestionSystemEnums.QuestionType.Definition: if (questionList [randomize].hasDefinition) { answersList.Add(questionList[randomize].answer); question = questionList [randomize].definition; questionViable = true; } break; } if (questionsDone.Contains(question)) { questionViable = false; } } Question questionGot = new Question(question, answersList.ToArray()); questionsDone.Add(question); return(questionGot); }
protected void LoadQuestion(QuestionSystemEnums.QuestionType questionType) { Question questionLoaded = QuestionBuilder.GetQuestion(questionType); string question = questionLoaded.question; gameObject.transform.GetChild(0).GetComponent <Text> ().text = question; questionAnswer = questionLoaded.answers.Length == 2 ? (questionLoaded.answers[0].ToUpper() + "/" + questionLoaded.answers[1].ToUpper()): questionLoaded.answers[UnityEngine.Random.Range(0, questionLoaded.answers.Length)].ToUpper(); }