XunJianManager.cs 7.0 KB

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