XunJianManager.cs 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. using System.Collections.Generic;
  2. using TMPro;
  3. using UnityEngine;
  4. using UnityEngine.Events;
  5. using UnityEngine.UI;
  6. using Blue;
  7. namespace GHZLangChao
  8. {
  9. public class XunJianManager : SingletonMonobehaviour<XunJianManager>, IController
  10. {
  11. public bool Test = false;
  12. [SerializeField] private GameObject SearchPanel; // 搜索面板
  13. [SerializeField] private Transform SearchPanelContent; // 搜索面板Item父物体
  14. [SerializeField] private GameObject FaultPanel; // 故障面板
  15. [SerializeField] private Transform FaultPanelContent;// 故障面板Item父物体
  16. [SerializeField] private Toggle Serach_Toggle;
  17. public Toggle Fault_Toggle;
  18. [SerializeField] private Button Titile_Btn;
  19. [SerializeField] private Button Nav_Btn; // 导航按钮
  20. [SerializeField] private GameObject Retract_go; // 收起
  21. [SerializeField] private GameObject Expand_go; // 展开
  22. public GameObject UI_go;
  23. public UnityEvent OnReset = new UnityEvent();
  24. public UnityEvent OnRetract = new UnityEvent();
  25. public UnityEvent OnExpand = new UnityEvent();
  26. void Start()
  27. {
  28. Serach_Toggle.onValueChanged.AddListener(SerachChange);
  29. Fault_Toggle.onValueChanged.AddListener(FaultChange);
  30. Nav_Btn.onClick.AddListener(StartNav);
  31. Titile_Btn.onClick.AddListener(ClickTitle);
  32. //UICallManager.Instance.MachineRoomInit();
  33. XRRGBCamera.Instance.stopCamera();
  34. Init();
  35. }
  36. public void StartXunJain()
  37. {
  38. UI_go.SetActive(false);
  39. }
  40. public void Next()
  41. {
  42. ShowXunJian.Instance.gotoWindow(ScenesManager.SceneType.ShowDH);
  43. }
  44. public void back()
  45. {
  46. ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
  47. // BladeServerManager.Instance.isDaoHang = false;
  48. }
  49. public void Navigationing()
  50. {
  51. // ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
  52. }
  53. /// <summary>
  54. /// 初始化数据
  55. /// </summary>
  56. private void Init()
  57. {
  58. // 初始化搜索面板
  59. List<MachineParameters> listEquipmentData = UICallManager.Instance.GetMachineRoomData("").listEquipmentData;
  60. for (int i = 0; i < listEquipmentData.Count;i++)
  61. {
  62. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.SearchPanel_Item,SearchPanelContent);
  63. SearchPanel_Item item = go.GetComponent<SearchPanel_Item>();
  64. item.Init(listEquipmentData[i]);
  65. go.name = listEquipmentData[i].deviceName;
  66. }
  67. // 初始化故障面板
  68. List<AlarmData> ListAlarmData = UICallManager.Instance.GetAlarmData();
  69. for (int i = 0; i < ListAlarmData.Count;i++)
  70. {
  71. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.FaultPanel_Item,FaultPanelContent);
  72. FaultPanel_Item item = go.GetComponent<FaultPanel_Item>();
  73. item.Init(ListAlarmData[i]);
  74. go.name = ListAlarmData[i].title;
  75. }
  76. }
  77. #region UI监听
  78. public void SerachChange(bool arg0)
  79. {
  80. if (arg0)
  81. {
  82. Serach_Toggle.transform.GetComponent<TextMeshProUGUI>().fontStyle = (FontStyles)FontStyle.Bold;
  83. SearchPanel.SetActive(true);
  84. }
  85. else
  86. {
  87. Serach_Toggle.transform.GetComponent<TextMeshProUGUI>().fontStyle = (FontStyles)FontStyle.Normal;
  88. SearchPanel.SetActive(false);
  89. }
  90. }
  91. public void FaultChange(bool arg0)
  92. {
  93. if (arg0)
  94. {
  95. Fault_Toggle.transform.GetComponent<TextMeshProUGUI>().fontStyle = (FontStyles)FontStyle.Bold;
  96. FaultPanel.SetActive(true);
  97. }
  98. else
  99. {
  100. Fault_Toggle.transform.GetComponent<TextMeshProUGUI>().fontStyle = (FontStyles)FontStyle.Normal;
  101. FaultPanel.SetActive(false);
  102. }
  103. }
  104. private static MachineParameters mMachineParameter;
  105. public static MachineParameters MachineParameters
  106. {
  107. get => mMachineParameter;
  108. set => mMachineParameter = value;
  109. }
  110. private static AlarmData mAlarmData;
  111. public static AlarmData AlarmData
  112. {
  113. get => mAlarmData;
  114. set => mAlarmData = value;
  115. }
  116. private void StartNav()
  117. {
  118. if(Serach_Toggle.isOn)
  119. {
  120. MachineObj obj = UICallManager.Instance.QueryMachineObj(MachineParameters.deviceId);
  121. if (obj != null)
  122. {
  123. UICallManager.Instance.NavigatorServer(obj);
  124. UI_go.SetActive(false);
  125. Retract_go.SetActive(false);
  126. Expand_go.SetActive(true);
  127. }
  128. else
  129. Debug.LogError(" 未查找到设备 " + MachineParameters.deviceId + " " + MachineParameters.deviceName);
  130. }
  131. else if(Fault_Toggle.isOn)
  132. {
  133. MachineObj obj = UICallManager.Instance.QueryMachineObj(AlarmData.deviceId);
  134. if (obj != null)
  135. {
  136. UICallManager.Instance.NavigatorServer(obj);
  137. UI_go.SetActive(false);
  138. Retract_go.SetActive(false);
  139. Expand_go.SetActive(true);
  140. }
  141. else
  142. Debug.LogError(" 未查找到设备 " + AlarmData.deviceId + " " + AlarmData.deviceName);
  143. }
  144. }
  145. /*
  146. private bool ShowSelect = true;
  147. private void ShowHideSelect()
  148. {
  149. ShowSelect = !ShowSelect;
  150. if(ShowSelect) // 选中状态
  151. {
  152. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[0];
  153. }
  154. else // 隐藏状态
  155. {
  156. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[1];
  157. }
  158. }
  159. */
  160. public void showRTC()
  161. {
  162. LangChaoRTC.Instance.showRTC(0);
  163. ScenesManager.Instance.showWindow(ScenesManager.SceneType.RoomMain);
  164. }
  165. private bool isRetract = false;
  166. private void ClickTitle()
  167. {
  168. isRetract = !isRetract;
  169. if(isRetract)
  170. OnRetract?.Invoke();
  171. else
  172. OnExpand?.Invoke();
  173. }
  174. #endregion
  175. public void OpenEidotrCanvas()
  176. {
  177. SettingMachineRoomData.Instance.EditorOpen();
  178. }
  179. private void Update()
  180. {
  181. if (Test) return;
  182. #if UNITY_EDITOR
  183. return;
  184. #endif
  185. OnReset?.Invoke();
  186. }
  187. }
  188. }