UICallManager.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. using SC.XR.Unity.Module_InputSystem;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. public class UICallManager : MonoSingleton<UICallManager>
  6. {
  7. public delegate void TrackingFound(DataItem tagobj);
  8. public delegate void TrackingLast(DataItem tagobj);
  9. /// <summary>
  10. /// 物体识别到显示
  11. /// </summary>
  12. public TrackingFound OnTrackFound;
  13. /// <summary>
  14. /// 物体超出显示范围 隐藏
  15. /// </summary>
  16. public TrackingLast OnTrackLast;
  17. private void Start()
  18. {
  19. DispatcherBase.KeyDownDelegateRegister(AnyDown);
  20. DispatcherBase.KeyUpDelegateRegister(AnyUp);
  21. OnTrackFound += OnTrackfound;
  22. OnTrackLast += OnTracklast;
  23. }
  24. public void OnTrackfound(DataItem item)
  25. {
  26. ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
  27. }
  28. public void OnTracklast(DataItem item)
  29. {
  30. ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowXunJian);
  31. ShowXunJian.Instance.gotoWindow(ScenesManager.SceneType.ShowDH);
  32. }
  33. private void AnyUp(InputKeyCode keyCode, InputDevicePartBase part)
  34. {
  35. Debug.Log("DGJ ====> AnyUp " + keyCode.ToString());
  36. // UILogManager.Instance.SendLogText(3, part.PartType.ToString());
  37. if (part.PartType == InputDevicePartType.KSRight )
  38. {
  39. switch (keyCode)
  40. {
  41. case InputKeyCode.Enter:
  42. break;
  43. case InputKeyCode.Cancel:
  44. break;
  45. case InputKeyCode.Trigger:
  46. break;
  47. case InputKeyCode.Function:
  48. break;
  49. case InputKeyCode.Back:
  50. break;
  51. case InputKeyCode.Tp:
  52. break;
  53. case InputKeyCode.VolumeDown:
  54. break;
  55. case InputKeyCode.VolumeUp:
  56. break;
  57. case InputKeyCode.A:
  58. break;
  59. case InputKeyCode.B:
  60. break;
  61. case InputKeyCode.LjoystickKey:
  62. break;
  63. case InputKeyCode.LFunction:
  64. break;
  65. case InputKeyCode.LHallInside:
  66. break;
  67. case InputKeyCode.LHallForward:
  68. break;
  69. case InputKeyCode.LTrigger:
  70. break;
  71. case InputKeyCode.X:
  72. break;
  73. case InputKeyCode.Y:
  74. break;
  75. case InputKeyCode.RjoystickKey:
  76. break;
  77. case InputKeyCode.RFunction: // 返回主界面
  78. Debug.Log("DGJ ====> RFunction 按了 ");
  79. // ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
  80. break;
  81. case InputKeyCode.RHallInside:
  82. break;
  83. case InputKeyCode.RHallForward:
  84. break;
  85. case InputKeyCode.RTrigger:
  86. break;
  87. case InputKeyCode.UP:
  88. break;
  89. case InputKeyCode.DOWN:
  90. break;
  91. case InputKeyCode.RIGHT:
  92. break;
  93. case InputKeyCode.LEFT:
  94. break;
  95. case InputKeyCode.OTHER:
  96. break;
  97. case InputKeyCode.NULL:
  98. break;
  99. default:
  100. break;
  101. }
  102. }
  103. if (part.PartType == InputDevicePartType.KSLeft)
  104. {
  105. switch (keyCode)
  106. {
  107. case InputKeyCode.Enter:
  108. break;
  109. case InputKeyCode.Cancel:
  110. break;
  111. case InputKeyCode.Trigger:
  112. break;
  113. case InputKeyCode.Function:
  114. break;
  115. case InputKeyCode.Back:
  116. break;
  117. case InputKeyCode.Tp:
  118. break;
  119. case InputKeyCode.VolumeDown:
  120. break;
  121. case InputKeyCode.VolumeUp:
  122. break;
  123. case InputKeyCode.A:
  124. break;
  125. case InputKeyCode.B:
  126. break;
  127. case InputKeyCode.LjoystickKey:
  128. break;
  129. case InputKeyCode.LFunction:
  130. break;
  131. case InputKeyCode.LHallInside:
  132. break;
  133. case InputKeyCode.LHallForward:
  134. break;
  135. case InputKeyCode.LTrigger:
  136. break;
  137. case InputKeyCode.X:
  138. break;
  139. case InputKeyCode.Y:
  140. break;
  141. case InputKeyCode.RjoystickKey:
  142. break;
  143. case InputKeyCode.RFunction:
  144. break;
  145. case InputKeyCode.RHallInside:
  146. break;
  147. case InputKeyCode.RHallForward:
  148. break;
  149. case InputKeyCode.RTrigger:
  150. break;
  151. case InputKeyCode.UP:
  152. break;
  153. case InputKeyCode.DOWN:
  154. break;
  155. case InputKeyCode.RIGHT:
  156. break;
  157. case InputKeyCode.LEFT:
  158. break;
  159. case InputKeyCode.OTHER:
  160. break;
  161. case InputKeyCode.NULL:
  162. break;
  163. default:
  164. break;
  165. }
  166. }
  167. }
  168. private void AnyDown(InputKeyCode keyCode, InputDevicePartBase part)
  169. {
  170. Debug.Log("DGJ ====> AnyDown " + keyCode.ToString());
  171. // UILogManager.Instance.SendLogText(3, part.PartType.ToString());
  172. if (part.PartType == InputDevicePartType.KSRight)
  173. {
  174. switch (keyCode)
  175. {
  176. case InputKeyCode.Enter:
  177. break;
  178. case InputKeyCode.Cancel:
  179. break;
  180. case InputKeyCode.Trigger:
  181. break;
  182. case InputKeyCode.Function:
  183. break;
  184. case InputKeyCode.Back:
  185. break;
  186. case InputKeyCode.Tp:
  187. break;
  188. case InputKeyCode.VolumeDown:
  189. break;
  190. case InputKeyCode.VolumeUp:
  191. break;
  192. case InputKeyCode.A:
  193. break;
  194. case InputKeyCode.B:
  195. break;
  196. case InputKeyCode.LjoystickKey:
  197. break;
  198. case InputKeyCode.LFunction:
  199. break;
  200. case InputKeyCode.LHallInside:
  201. break;
  202. case InputKeyCode.LHallForward:
  203. break;
  204. case InputKeyCode.LTrigger:
  205. break;
  206. case InputKeyCode.X:
  207. break;
  208. case InputKeyCode.Y:
  209. break;
  210. case InputKeyCode.RjoystickKey:
  211. break;
  212. case InputKeyCode.RFunction:
  213. Debug.Log("DGJ ====> RFunction 按了 ");
  214. break;
  215. case InputKeyCode.RHallInside:
  216. break;
  217. case InputKeyCode.RHallForward:
  218. break;
  219. case InputKeyCode.RTrigger:
  220. break;
  221. case InputKeyCode.UP:
  222. break;
  223. case InputKeyCode.DOWN:
  224. break;
  225. case InputKeyCode.RIGHT:
  226. break;
  227. case InputKeyCode.LEFT:
  228. break;
  229. case InputKeyCode.OTHER:
  230. break;
  231. case InputKeyCode.NULL:
  232. break;
  233. default:
  234. break;
  235. }
  236. }
  237. if (part.PartType == InputDevicePartType.KSLeft)
  238. {
  239. switch (keyCode)
  240. {
  241. case InputKeyCode.Enter:
  242. break;
  243. case InputKeyCode.Cancel:
  244. break;
  245. case InputKeyCode.Trigger:
  246. break;
  247. case InputKeyCode.Function:
  248. break;
  249. case InputKeyCode.Back:
  250. break;
  251. case InputKeyCode.Tp:
  252. break;
  253. case InputKeyCode.VolumeDown:
  254. break;
  255. case InputKeyCode.VolumeUp:
  256. break;
  257. case InputKeyCode.A:
  258. break;
  259. case InputKeyCode.B:
  260. break;
  261. case InputKeyCode.LjoystickKey:
  262. break;
  263. case InputKeyCode.LFunction:
  264. break;
  265. case InputKeyCode.LHallInside:
  266. break;
  267. case InputKeyCode.LHallForward:
  268. break;
  269. case InputKeyCode.LTrigger:
  270. break;
  271. case InputKeyCode.X:
  272. break;
  273. case InputKeyCode.Y:
  274. break;
  275. case InputKeyCode.RjoystickKey:
  276. break;
  277. case InputKeyCode.RFunction:
  278. break;
  279. case InputKeyCode.RHallInside:
  280. break;
  281. case InputKeyCode.RHallForward:
  282. break;
  283. case InputKeyCode.RTrigger:
  284. break;
  285. case InputKeyCode.UP:
  286. break;
  287. case InputKeyCode.DOWN:
  288. break;
  289. case InputKeyCode.RIGHT:
  290. break;
  291. case InputKeyCode.LEFT:
  292. break;
  293. case InputKeyCode.OTHER:
  294. break;
  295. case InputKeyCode.NULL:
  296. break;
  297. default:
  298. break;
  299. }
  300. }
  301. }
  302. /// <summary>
  303. /// 机房场景的初始化
  304. /// </summary>
  305. /// <param name="msg"> 机房信息 </param>
  306. public void MachineRoomInit( string msg)
  307. {
  308. Debug.Log("DGJ ===> MachineRoomInit ");
  309. MachineRoomManager.Instance.Init();
  310. }
  311. /// <summary>
  312. /// 获取机房列表
  313. /// </summary>
  314. public List<string> GetMachineRoomList()
  315. {
  316. return MachineRoomManager.Instance.listRoomName;
  317. }
  318. /// <summary>
  319. /// 获取机房数据
  320. /// </summary>
  321. /// <returns></returns>
  322. public MachineRoomData GetMachineRoomData( string machineRoomName)
  323. {
  324. // 根据机房名称从后台获取机房信息
  325. return MachineRoomManager.Instance.data;
  326. }
  327. /// <summary>
  328. /// 场景物体初始化
  329. /// </summary>
  330. public void MachineRoomInit()
  331. {
  332. MachineRoomManager.Instance.SceneInit();
  333. }
  334. public MachineObj QueryMachineObj(int id)
  335. {
  336. for (int i = 0; i < MachineRoomManager.Instance.listObjes.Count; i++)
  337. {
  338. if(id == MachineRoomManager.Instance.listObjes[i].deviceParameters.deviceId)
  339. {
  340. return MachineRoomManager.Instance.listObjes[i];
  341. }
  342. }
  343. return null;
  344. }
  345. /// <summary>
  346. /// 导航
  347. /// </summary>
  348. /// <param name="item"></param>
  349. public void NavigatorServer(MachineObj item)
  350. {
  351. WayFindingManager.Instance.NavigatorServer(item);
  352. }
  353. /// <summary>
  354. /// 导航
  355. /// </summary>
  356. /// <param name="listItem"></param>
  357. public void NavigatorServer(List<MachineObj> listItem)
  358. {
  359. WayFindingManager.Instance.NavigatorServer(listItem);
  360. }
  361. /// <summary>
  362. /// 获取告警列表
  363. /// </summary>
  364. /// <returns></returns>
  365. public List<AlarmData> GetAlarmData()
  366. {
  367. // 缺少获取设备名称---备注
  368. if(MachineRoomManager.Instance.data.listAlarmData==null)
  369. SetData();
  370. return MachineRoomManager.Instance.data.listAlarmData;
  371. }
  372. private void SetData()
  373. {
  374. MachineRoomManager.Instance.data.listAlarmData = new List<AlarmData>();
  375. for (int i = 0; i < 5;i++)
  376. {
  377. AlarmData AlarmData = new AlarmData();
  378. AlarmData.deviceId = i;
  379. AlarmData.deviceName = "设备" + i;
  380. AlarmData.title = "问题" + i;
  381. AlarmData.carryingSystem = "承载系统" + i;
  382. AlarmData.level = "重大告警";
  383. AlarmData.equipmentAlarmTime = System.DateTime.Now.ToString();
  384. MachineRoomManager.Instance.data.listAlarmData.Add(AlarmData);
  385. }
  386. }
  387. }