UICallManager.cs 12 KB

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