XunJianManager.cs 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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. private void OnEnable()
  19. {
  20. transform.LookAt(OpenXRCamera.Instance.head);
  21. transform.localEulerAngles = new Vector3(0, transform.localEulerAngles.y + 180f, 0);
  22. Transform Player = OpenXRCamera.Instance.head;
  23. Player.eulerAngles = new Vector3(0, OpenXRCamera.Instance.head.eulerAngles.y, 0);
  24. transform.position = OpenXRCamera.Instance.head.position + Player.forward * 1.6f;
  25. transform.position = new Vector3(transform.position.x, transform.position.y + 0f, transform.position.z);
  26. }
  27. void Start()
  28. {
  29. Serach_Toggle.onValueChanged.AddListener(SerachChange);
  30. Fault_Toggle.onValueChanged.AddListener(FaultChange);
  31. Nav_Btn.onClick.AddListener(StartNav);
  32. ShowHideSelect_Btn.onClick.AddListener(ShowHideSelect);
  33. //UICallManager.Instance.MachineRoomInit();
  34. XRRGBCamera.Instance.stopCamera();
  35. Init();
  36. }
  37. public void StartXunJain()
  38. {
  39. UI.SetActive(false);
  40. }
  41. public void Next()
  42. {
  43. ShowXunJian.Instance.gotoWindow(ScenesManager.SceneType.ShowDH);
  44. }
  45. public void back()
  46. {
  47. ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
  48. // BladeServerManager.Instance.isDaoHang = false;
  49. }
  50. public void Navigationing()
  51. {
  52. // ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
  53. }
  54. /// <summary>
  55. /// 初始化数据
  56. /// </summary>
  57. private void Init()
  58. {
  59. // 初始化搜索面板
  60. List<MachineParameters> listEquipmentData = UICallManager.Instance.GetMachineRoomData("").listEquipmentData;
  61. for (int i = 0; i < listEquipmentData.Count;i++)
  62. {
  63. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.SearchPanel_Item,SearchPanelContent);
  64. SearchPanel_Item item = go.GetComponent<SearchPanel_Item>();
  65. item.Init(listEquipmentData[i]);
  66. go.name = listEquipmentData[i].deviceName;
  67. }
  68. // 初始化故障面板
  69. List<AlarmData> ListAlarmData = UICallManager.Instance.GetAlarmData();
  70. for (int i = 0; i < ListAlarmData.Count;i++)
  71. {
  72. GameObject go = Instantiate(InstantiateSystem.Instance.BlueObject.FaultPanel_Item,FaultPanelContent);
  73. FaultPanel_Item item = go.GetComponent<FaultPanel_Item>();
  74. item.Init(ListAlarmData[i]);
  75. go.name = ListAlarmData[i].title;
  76. }
  77. }
  78. #region UI监听
  79. private void SerachChange(bool arg0)
  80. {
  81. if (arg0)
  82. {
  83. Serach_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Bold;
  84. SearchPanel.SetActive(true);
  85. }
  86. else
  87. {
  88. Serach_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Normal;
  89. SearchPanel.SetActive(false);
  90. }
  91. }
  92. private void FaultChange(bool arg0)
  93. {
  94. if (arg0)
  95. {
  96. Fault_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Bold;
  97. FaultPanel.SetActive(true);
  98. }
  99. else
  100. {
  101. Fault_Toggle.transform.GetComponent<Text>().fontStyle = FontStyle.Normal;
  102. FaultPanel.SetActive(false);
  103. }
  104. }
  105. private static MachineParameters mMachineParameter;
  106. public static MachineParameters MachineParameters
  107. {
  108. get => mMachineParameter;
  109. set => mMachineParameter = value;
  110. }
  111. private static AlarmData mAlarmData;
  112. public static AlarmData AlarmData
  113. {
  114. get => mAlarmData;
  115. set => mAlarmData = value;
  116. }
  117. private void StartNav()
  118. {
  119. if(Serach_Toggle.isOn)
  120. {
  121. MachineObj obj = UICallManager.Instance.QueryMachineObj(MachineParameters.deviceId);
  122. if (obj != null)
  123. UICallManager.Instance.NavigatorServer(obj);
  124. else
  125. Debug.LogError(" 未查找到设备 " + MachineParameters.deviceId +" "+ MachineParameters.deviceName);
  126. }
  127. else if(Fault_Toggle.isOn)
  128. {
  129. MachineObj obj = UICallManager.Instance.QueryMachineObj(AlarmData.deviceId);
  130. if (obj != null)
  131. UICallManager.Instance.NavigatorServer(obj);
  132. else
  133. Debug.LogError(" 未查找到设备 " + AlarmData.deviceId + " " + AlarmData.deviceName);
  134. }
  135. }
  136. private bool ShowSelect = true;
  137. private void ShowHideSelect()
  138. {
  139. ShowSelect = !ShowSelect;
  140. if(ShowSelect) // 选中状态
  141. {
  142. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[0];
  143. }
  144. else // 隐藏状态
  145. {
  146. ShowHideSelect_Btn.transform.GetChild(0).GetComponent<Image>().sprite = SelectBtnSprite[1];
  147. }
  148. }
  149. public void showRTC()
  150. {
  151. LangChaoRTC.Instance.showRTC(0);
  152. ScenesManager.Instance.showWindow(ScenesManager.SceneType.RoomMain);
  153. }
  154. #endregion
  155. public void OpenEidotrCanvas()
  156. {
  157. SettingMachineRoomData.Instance.EditorOpen();
  158. }
  159. }
  160. }