QuestionCard.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. [Serializable]
  16. public class Question {
  17. public string question;
  18. public string answer;
  19. public string id;
  20. public string category;
  21. }
  22. [Serializable]
  23. public class Questions {
  24. public List<Question> questionsList = new List<Question>();
  25. }
  26. // Start is called before the first frame update
  27. void Start()
  28. {
  29. }
  30. public void PrepareQuestion()
  31. {
  32. questionText = GameObject.Find("QuestionText").GetComponent<Text>();
  33. answerText = GameObject.Find("AnswerText").GetComponent<Text>();
  34. }
  35. private IEnumerator GetQuestionData(bool showAnswer)
  36. {
  37. UnityWebRequest www = UnityWebRequest.Get("nordh.xyz/narKampen/dbAccess.php");
  38. yield return www.SendWebRequest();
  39. if (www.isNetworkError || www.isHttpError)
  40. {
  41. Debug.Log(www.error);
  42. } else
  43. {
  44. // Show result
  45. string jsonData = www.downloadHandler.text;
  46. jsonData = "{\"questionsList\" : [ " + jsonData + " ]}";
  47. Questions qe = new Questions();
  48. JsonUtility.FromJsonOverwrite(jsonData, qe);
  49. if (qe.questionsList.Count > 0 && questionText != null )
  50. {
  51. if (showAnswer && answerText != null)
  52. {
  53. answerText.text = qe.questionsList[0].answer;
  54. }
  55. questionText.text = qe.questionsList[0].question;
  56. }
  57. questionString = qe.questionsList[0].question;
  58. answerString = qe.questionsList[0].answer;
  59. idString = qe.questionsList[0].id;
  60. categoryString = qe.questionsList[0].category;
  61. }
  62. }
  63. public void GetQuestion(bool showAnswer)
  64. {
  65. StartCoroutine(GetQuestionData(showAnswer));
  66. }
  67. }