SearchView.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections.Generic;
  2. using TMPro;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using WS;
  6. public class SearchViewController : Controller<SearchView, SearchModel>
  7. {
  8. protected override void BindingViewModel()
  9. {
  10. ToggleGroupAddListener();
  11. }
  12. public override void OpenView()
  13. {
  14. base.OpenView();
  15. }
  16. void ToggleGroupAddListener()
  17. {
  18. Toggle[] toggles = _View.itemList.GetComponentsInChildren<Toggle>();
  19. toggles[0].isOn = true;
  20. }
  21. void OnEnterBtnClick()
  22. {
  23. SearchViewController controller = FacadeComponent.Instance.CreateController<SearchViewController>();
  24. controller.OpenView();
  25. }
  26. }
  27. public class SearchView : View
  28. {
  29. public Button returnBtn;
  30. public Button enterCourseBtn;
  31. public Transform itemList;
  32. List<string> courses = new List<string>
  33. {
  34. "中药检索","中药学古文献","药物化学","药物化学","药物化学"
  35. };
  36. public override void LoadInit()
  37. {
  38. var rc = UIGameObject.GetComponent<ReferenceCollector>();
  39. returnBtn = rc.GetComponent<Button>("ReturnBtn");
  40. enterCourseBtn = rc.GetComponent<Button>("EnterCourseBtn");
  41. itemList = rc.GetComponent<Transform>("Content");
  42. RefreshCourseList();
  43. }
  44. public void RefreshCourseList()
  45. {
  46. var choiceItemPre = Resources.Load<GameObject>("UI/Common/Course_Search");
  47. for (int i = 0; i < courses.Count; i++)
  48. {
  49. var choiceItem = GameObject.Instantiate(choiceItemPre, itemList);
  50. var rc = choiceItem.GetComponent<ReferenceCollector>();
  51. TextMeshProUGUI courseName = rc.GetComponent<TextMeshProUGUI>("Detail");
  52. courseName.text = courses[i];
  53. Toggle toggle = choiceItem.GetComponent<Toggle>();
  54. toggle.group = itemList.GetComponent<ToggleGroup>();
  55. }
  56. }
  57. }
  58. public class SearchModel : Model
  59. {
  60. public override void InitProperty()
  61. {
  62. }
  63. }