FaultChoiceCtrl.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.UI;
  6. public class FaultChoiceCtrl : MonoBehaviour
  7. {
  8. private GameObject DoneTips;
  9. private Text questText;
  10. private Button[] choiceButtons;
  11. public faultChoiceType trueIndex = faultChoiceType.A;
  12. public List<FaultChoiceData> FaultChoiceDataList;
  13. public int currentQuestIndex = 0;
  14. public Text tipsText;
  15. private void Awake()
  16. {
  17. questText = this.transform.Find("DocContent").GetComponent<Text>();
  18. choiceButtons = new Button[4];
  19. choiceButtons[0] = this.transform.Find($"ChoiceButton/Verlist/B1").GetComponent<Button>();
  20. choiceButtons[1] = this.transform.Find($"ChoiceButton/Verlist/B2").GetComponent<Button>();
  21. choiceButtons[2] = this.transform.Find($"ChoiceButton/Verlist/B3").GetComponent<Button>();
  22. choiceButtons[3] = this.transform.Find($"ChoiceButton/Verlist/B4").GetComponent<Button>();
  23. choiceButtons[0].onClick.AddListener(() =>
  24. {
  25. ChoiceClick(faultChoiceType.A);
  26. });
  27. choiceButtons[1].onClick.AddListener(() =>
  28. {
  29. ChoiceClick(faultChoiceType.B);
  30. });
  31. choiceButtons[2].onClick.AddListener(() =>
  32. {
  33. ChoiceClick(faultChoiceType.C);
  34. });
  35. choiceButtons[3].onClick.AddListener(() =>
  36. {
  37. ChoiceClick(faultChoiceType.D);
  38. });
  39. DoneTips = this.transform.Find("DoneTips").gameObject;
  40. tipsText = DoneTips.transform.Find("BG/Text").GetComponent<Text>();
  41. DoneTips.SetActive(false);
  42. }
  43. public void ChoiceClick(faultChoiceType _type)
  44. {
  45. if (currentQuestIndex >= FaultChoiceDataList.Count)
  46. {
  47. return;
  48. }
  49. if (FaultChoiceDataList[currentQuestIndex].trueIndex == _type)
  50. {
  51. //选对
  52. NextQuest();
  53. }
  54. else
  55. {
  56. tipsText.text = "选择错误!";
  57. DoneTips.SetActive(true);
  58. }
  59. }
  60. private void OnEnable()
  61. {
  62. currentQuestIndex = 0;
  63. ChangeQuest(currentQuestIndex);
  64. DoneTips.SetActive(false);
  65. }
  66. public void ReSet()
  67. {
  68. currentQuestIndex = 0;
  69. ChangeQuest(currentQuestIndex);
  70. DoneTips.SetActive(false);
  71. }
  72. public void NextQuest()
  73. {
  74. currentQuestIndex++;
  75. if (currentQuestIndex<FaultChoiceDataList.Count)
  76. {
  77. // tipsText.text = "选择正确!";
  78. // DoneTips.SetActive(true);
  79. ChangeQuest(currentQuestIndex);
  80. }
  81. else
  82. {
  83. currentQuestIndex = 0;
  84. ChangeQuest(currentQuestIndex);
  85. tipsText.text = "故障已修复!";
  86. DoneTips.SetActive(true);
  87. }
  88. }
  89. public void ChangeQuest(int index)
  90. {
  91. questText.text = FaultChoiceDataList[index].questStr;
  92. choiceButtons[0].transform.Find("Text").GetComponent<Text>().text = FaultChoiceDataList[index].choiceText_A;
  93. choiceButtons[1].transform.Find("Text").GetComponent<Text>().text = FaultChoiceDataList[index].choiceText_B;
  94. choiceButtons[2].transform.Find("Text").GetComponent<Text>().text = FaultChoiceDataList[index].choiceText_C;
  95. choiceButtons[3].transform.Find("Text").GetComponent<Text>().text = FaultChoiceDataList[index].choiceText_D;
  96. }
  97. }