XunJianManager.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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. // BladeServerManager.Instance.isDaoHang = false;
  40. }
  41. public void Navigationing()
  42. {
  43. // ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
  44. }
  45. /// <summary>
  46. /// 初始化数据
  47. /// </summary>
  48. private void Init()
  49. {
  50. // 初始化搜索面板
  51. List<MachineParameters> listEquipmentData = UICallManager.Instance.GetMachineRoomData("").listEquipmentData;
  52. for (int i = 0; i < listEquipmentData.Count;i++)
  53. {
  54. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.SearchPanel_Item,SearchPanelContent);
  55. SearchPanel_Item item = go.GetComponent<SearchPanel_Item>();
  56. item.Init(listEquipmentData[i]);
  57. go.name = listEquipmentData[i].deviceName;
  58. }
  59. // 初始化故障面板
  60. List<AlarmData> ListAlarmData = UICallManager.Instance.GetAlarmData();
  61. for (int i = 0; i < ListAlarmData.Count;i++)
  62. {
  63. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.FaultPanel_Item,FaultPanelContent);
  64. FaultPanel_Item item = go.GetComponent<FaultPanel_Item>();
  65. item.Init(ListAlarmData[i]);
  66. go.name = ListAlarmData[i].title;
  67. }
  68. }
  69. #region UI监听
  70. private void SerachChange(bool arg0)
  71. {
  72. if (arg0)
  73. {
  74. Serach_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Bold;
  75. SearchPanel.SetActive(true);
  76. }
  77. else
  78. {
  79. Serach_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Normal;
  80. SearchPanel.SetActive(false);
  81. }
  82. }
  83. private void FaultChange(bool arg0)
  84. {
  85. if (arg0)
  86. {
  87. Fault_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Bold;
  88. FaultPanel.SetActive(true);
  89. }
  90. else
  91. {
  92. Fault_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Normal;
  93. FaultPanel.SetActive(false);
  94. }
  95. }
  96. private static MachineParameters mMachineParameter;
  97. public static MachineParameters MachineParameters
  98. {
  99. get => mMachineParameter;
  100. set => mMachineParameter = value;
  101. }
  102. private static AlarmData mAlarmData;
  103. public static AlarmData AlarmData
  104. {
  105. get => mAlarmData;
  106. set => mAlarmData = value;
  107. }
  108. private void StartNav()
  109. {
  110. if(Serach_Toggle.isOn)
  111. {
  112. MachineObj obj = UICallManager.Instance.QueryMachineObj(MachineParameters.deviceId);
  113. if (obj != null)
  114. UICallManager.Instance.NavigatorServer(obj);
  115. else
  116. Debug.LogError(" 未查找到设备 " + MachineParameters.deviceId +" "+ MachineParameters.deviceName);
  117. }
  118. else if(Fault_Toggle.isOn)
  119. {
  120. MachineObj obj = UICallManager.Instance.QueryMachineObj(AlarmData.deviceId);
  121. if (obj != null)
  122. UICallManager.Instance.NavigatorServer(obj);
  123. else
  124. Debug.LogError(" 未查找到设备 " + AlarmData.deviceId + " " + AlarmData.deviceName);
  125. }
  126. }
  127. private bool ShowSelect = true;
  128. private void ShowHideSelect()
  129. {
  130. ShowSelect = !ShowSelect;
  131. if(ShowSelect) // 选中状态
  132. {
  133. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[0];
  134. }
  135. else // 隐藏状态
  136. {
  137. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[1];
  138. }
  139. }
  140. public void showRTC()
  141. {
  142. LangChaoRTC.Instance.showRTC(0);
  143. ScenesManager.Instance.showWindow(ScenesManager.SceneType.RoomMain);
  144. }
  145. #endregion
  146. public void OpenEidotrCanvas()
  147. {
  148. SettingMachineRoomData.Instance.EditorOpen();
  149. }
  150. }
  151. }