QuestionCard.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.Networking;
  6. using UnityEngine.UI;
  7. public class QuestionCard : MonoBehaviour
  8. {
  9. public Text questionText;
  10. public Text answerText;
  11. public string questionString = "";
  12. public string answerString = "";
  13. public string idString = "";
  14. public string categoryString = "";
  15. public Color32 unsafeColor;
  16. public Color32 safeColor;
  17. [Serializable]
  18. public class Question {
  19. public string question;
  20. public string answer;
  21. public string id;
  22. public string category;
  23. }
  24. [Serializable]
  25. public class Questions {
  26. public List<Question> questionsList = new List<Question>();
  27. }
  28. public void PrepareQuestion() {
  29. questionText = GameObject.Find("QuestionText").GetComponent<Text>();
  30. answerText = GameObject.Find("AnswerText").GetComponent<Text>();
  31. }
  32. public void PrepareQuestion(string questionTextName, string answerTextName)
  33. {
  34. questionText = GameObject.Find(questionTextName).GetComponent<Text>();
  35. answerText = GameObject.Find(answerTextName).GetComponent<Text>();
  36. }
  37. private IEnumerator GetQuestionData(bool showAnswer)
  38. {
  39. UnityWebRequest www = UnityWebRequest.Get("nordh.xyz/narKampen/dbFiles/dbAccess.php");
  40. yield return www.SendWebRequest();
  41. if (www.isNetworkError || www.isHttpError)
  42. {
  43. Debug.Log(www.error);
  44. } else {
  45. while (!www.isDone) {
  46. yield return null;
  47. }
  48. // Show result
  49. string jsonData = www.downloadHandler.text;
  50. jsonData = "{\"questionsList\" : [ " + jsonData + " ]}";
  51. Questions qe = new Questions();
  52. JsonUtility.FromJsonOverwrite(jsonData, qe);
  53. if (qe.questionsList.Count > 0 && questionText != null )
  54. {
  55. if (showAnswer && answerText != null)
  56. {
  57. answerText.text = qe.questionsList[0].answer;
  58. }
  59. questionText.text = qe.questionsList[0].question;
  60. }
  61. questionString = qe.questionsList[0].question;
  62. answerString = qe.questionsList[0].answer;
  63. idString = qe.questionsList[0].id;
  64. categoryString = qe.questionsList[0].category;
  65. }
  66. }
  67. public void SetQuestionSafe()
  68. {
  69. this.GetComponent<Image>().color = safeColor;
  70. }
  71. public bool IsQuestionSafe() {
  72. if (this.GetComponent<Image>().color == safeColor) {
  73. return true;
  74. }
  75. return false;
  76. }
  77. public void SetQuestionText(string text) {
  78. this.questionText.text = text;
  79. }
  80. public void SetAnswerText(string text) {
  81. this.answerText.text = text;
  82. }
  83. public Text GetQuestionText() {
  84. return this.questionText;
  85. }
  86. public Text GetAnswerText() {
  87. return this.answerText;
  88. }
  89. }