XunJianManager.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. namespace GHZLangChao
  5. {
  6. public class XunJianManager : AbstractController
  7. {
  8. [SerializeField] private GameObject SearchPanel; // 搜索面板
  9. [SerializeField] private Transform SearchPanelContent; // 搜索面板Item父物体
  10. [SerializeField] private GameObject FaultPanel; // 故障面板
  11. [SerializeField] private Transform FaultPanelContent;// 故障面板Item父物体
  12. [SerializeField] private Toggle Serach_Toggle;
  13. [SerializeField] private Toggle Fault_Toggle;
  14. [SerializeField] private Button Nav_Btn; // 导航按钮
  15. [SerializeField] private Button ShowHideSelect_Btn; // 显示隐藏按钮
  16. [SerializeField] private List<Sprite> SelectBtnSprite; // 显示隐藏按钮不同样式的Sprite
  17. public GameObject UI;
  18. void Start()
  19. {
  20. Serach_Toggle.onValueChanged.AddListener(SerachChange);
  21. Fault_Toggle.onValueChanged.AddListener(FaultChange);
  22. Nav_Btn.onClick.AddListener(StartNav);
  23. ShowHideSelect_Btn.onClick.AddListener(ShowHideSelect);
  24. UICallManager.Instance.MachineRoomInit();
  25. XRRGBCamera.Instance.stopCamera();
  26. Init();
  27. }
  28. public void StartXunJain()
  29. {
  30. UI.SetActive(false);
  31. }
  32. public void Next()
  33. {
  34. ShowXunJian.Instance.gotoWindow(ScenesManager.SceneType.ShowDH);
  35. }
  36. public void back()
  37. {
  38. ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
  39. }
  40. public void Navigationing()
  41. {
  42. // ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
  43. }
  44. /// <summary>
  45. /// 初始化数据
  46. /// </summary>
  47. private void Init()
  48. {
  49. // 初始化搜索面板
  50. List<MachineParameters> listEquipmentData = UICallManager.Instance.GetMachineRoomData("").listEquipmentData;
  51. for (int i = 0; i < listEquipmentData.Count;i++)
  52. {
  53. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.SearchPanel_Item,SearchPanelContent);
  54. SearchPanel_Item item = go.GetComponent<SearchPanel_Item>();
  55. item.Init(listEquipmentData[i]);
  56. go.name = listEquipmentData[i].deviceName;
  57. }
  58. // 初始化故障面板
  59. List<AlarmData> ListAlarmData = UICallManager.Instance.GetAlarmData();
  60. for (int i = 0; i < ListAlarmData.Count;i++)
  61. {
  62. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.FaultPanel_Item,FaultPanelContent);
  63. FaultPanel_Item item = go.GetComponent<FaultPanel_Item>();
  64. item.Init(ListAlarmData[i]);
  65. go.name = ListAlarmData[i].title;
  66. }
  67. }
  68. #region UI监听
  69. private void SerachChange(bool arg0)
  70. {
  71. if (arg0)
  72. {
  73. Serach_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Bold;
  74. SearchPanel.SetActive(true);
  75. }
  76. else
  77. {
  78. Serach_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Normal;
  79. SearchPanel.SetActive(false);
  80. }
  81. }
  82. private void FaultChange(bool arg0)
  83. {
  84. if (arg0)
  85. {
  86. Fault_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Bold;
  87. FaultPanel.SetActive(true);
  88. }
  89. else
  90. {
  91. Fault_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Normal;
  92. FaultPanel.SetActive(false);
  93. }
  94. }
  95. private static MachineParameters mMachineParameter;
  96. public static MachineParameters MachineParameters
  97. {
  98. get => mMachineParameter;
  99. set => mMachineParameter = value;
  100. }
  101. private static AlarmData mAlarmData;
  102. public static AlarmData AlarmData
  103. {
  104. get => mAlarmData;
  105. set => mAlarmData = value;
  106. }
  107. private void StartNav()
  108. {
  109. if(Serach_Toggle.isOn)
  110. {
  111. MachineObj obj = UICallManager.Instance.QueryMachineObj(MachineParameters.deviceId);
  112. if (obj != null)
  113. UICallManager.Instance.NavigatorServer(obj);
  114. else
  115. Debug.LogError(" 未查找到设备 " + MachineParameters.deviceId +" "+ MachineParameters.deviceName);
  116. }
  117. else if(Fault_Toggle.isOn)
  118. {
  119. MachineObj obj = UICallManager.Instance.QueryMachineObj(AlarmData.deviceId);
  120. if (obj != null)
  121. UICallManager.Instance.NavigatorServer(obj);
  122. else
  123. Debug.LogError(" 未查找到设备 " + AlarmData.deviceId + " " + AlarmData.deviceName);
  124. }
  125. }
  126. private bool ShowSelect = true;
  127. private void ShowHideSelect()
  128. {
  129. ShowSelect = !ShowSelect;
  130. if(ShowSelect) // 选中状态
  131. {
  132. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[0];
  133. }
  134. else // 隐藏状态
  135. {
  136. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[1];
  137. }
  138. }
  139. public void showRTC()
  140. {
  141. LangChaoRTC.Instance.showRTC(0);
  142. ScenesManager.Instance.showWindow(ScenesManager.SceneType.RoomMain);
  143. }
  144. #endregion
  145. public void OpenEidotrCanvas()
  146. {
  147. SettingMachineRoomData.Instance.EditorOpen();
  148. }
  149. }
  150. }