GameManager.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using UnityEngine;
  6. using static InitTapList;
  7. public class GameManager : MonoBehaviour
  8. {
  9. [Serializable]
  10. public enum TuBiaoType
  11. {
  12. [ChineseDescription("总用电量")]
  13. 总用电量 =10001,
  14. [ChineseDescription("设备报警率")]
  15. 设备报警率=10002,
  16. [ChineseDescription("今日燃气流量")]
  17. 今日燃气流量=10003,
  18. [ChineseDescription("累计燃气用量")]
  19. 累计燃气用量=10004,
  20. [ChineseDescription("科技设备在线率")]
  21. 科技设备在线率 =20001,
  22. [ChineseDescription("科技设备利用率")]
  23. 科技设备利用率=20002,
  24. [ChineseDescription("工业设备在线率")]
  25. 工业设备在线率 =30001,
  26. [ChineseDescription("工业设备利用率")]
  27. 工业设备利用率=30002,
  28. }
  29. [Serializable]
  30. public enum GameObjectType
  31. {
  32. [ChineseDescription("园区")]
  33. 园区 =1,
  34. [ChineseDescription("科技车间")]
  35. 科技车间=2,
  36. [ChineseDescription("工业车间")]
  37. 工业车间=3,
  38. [ChineseDescription("其他")]
  39. 其他=3,
  40. }
  41. // 定义枚举
  42. [Serializable]
  43. public enum TapName
  44. {
  45. [ChineseDescription("园区总览")]
  46. 园区总览=10001,
  47. [ChineseDescription("德马科技车间")]
  48. 德马科技车间=10002,
  49. [ChineseDescription("德马工业车间")]
  50. 德马工业车间=10003,
  51. [ChineseDescription("五期智慧工厂")]
  52. 五期智慧工厂=10004,
  53. [ChineseDescription("五期综合大楼")]
  54. 五期综合大楼=10005,
  55. [ChineseDescription("车间总览")]
  56. 科技车间总览=20001,
  57. [ChineseDescription("AMADA数控冲床")]
  58. AMADA数控冲床=20002,
  59. [ChineseDescription("1#AMADA数控折弯机")]
  60. AMADA数控折弯机1=20003,
  61. [ChineseDescription("2#AMADA数控折弯机")]
  62. AMADA数控折弯机2=20004,
  63. [ChineseDescription("数控折弯机")]
  64. 数控折弯机=20005,
  65. [ChineseDescription("电液伺服数控折弯机")]
  66. 电液伺服数控折弯机=20006,
  67. [ChineseDescription("电液伺服折弯机")]
  68. 电液伺服折弯机=20007,
  69. [ChineseDescription("百超激光切割机")]
  70. 百超激光切割机=20008,
  71. [ChineseDescription("辊轧冲")]
  72. 辊轧冲=20009,
  73. [ChineseDescription("数控带锯床")]
  74. 数控带锯床=20010,
  75. [ChineseDescription("涂装(生产线)系统")]
  76. 涂装生产线系统=20011,
  77. [ChineseDescription("抛丸机")]
  78. 抛丸机=20012,
  79. [ChineseDescription("车间总览")]
  80. 工业车间总览=30001,
  81. [ChineseDescription("1#激光切管倒角一体机")]
  82. 激光切管倒角一体机1=30002,
  83. [ChineseDescription("1#S11轴切割倒角冲耳机一体机")]
  84. S11轴切割倒角冲耳机一体机1=30003,
  85. [ChineseDescription("1#联线自动装配机")]
  86. 联线自动装配机1=30004,
  87. [ChineseDescription("2#激光切管倒角一体机")]
  88. 激光切管倒角一体机2=30005,
  89. [ChineseDescription("2#S11轴切割倒角冲耳机一体机")]
  90. S11轴切割倒角冲耳机一体机2=30006,
  91. [ChineseDescription("2#联线自动装配机")]
  92. 联线自动装配机2=30007,
  93. [ChineseDescription("3#激光切管倒角一体机")]
  94. 激光切管倒角一体机3=30008,
  95. [ChineseDescription("3#S11轴切割倒角冲耳机一体机")]
  96. S11轴切割倒角冲耳机一体机3=30009,
  97. [ChineseDescription("3#联线自动装配机")]
  98. 联线自动装配机3=30010,
  99. [ChineseDescription("15轴加工一体机")]
  100. 十五轴加工一体机=30011,
  101. [ChineseDescription("科技一车间")]
  102. 科技一车间=11001,
  103. [ChineseDescription("科技二车间")]
  104. 科技二车间=11002,
  105. [ChineseDescription("科技三车间")]
  106. 科技三车间=11003,
  107. [ChineseDescription("科技五车间")]
  108. 科技五车间=11004,
  109. [ChineseDescription("工业二期")]
  110. 工业二期=11005,
  111. [ChineseDescription("工业三期(1楼)")]
  112. 工业三期1=11006,
  113. [ChineseDescription("工业三期(2楼)")]
  114. 工业三期2=11007,
  115. [ChineseDescription("工业四期")]
  116. 工业四期=11008,
  117. [ChineseDescription("工业办公楼")]
  118. 工业办公楼=11009,
  119. [ChineseDescription("创新办公楼")]
  120. 创新办公楼=11010,
  121. }
  122. public static GameManager Instance;
  123. public void Awake() {
  124. Instance =this;
  125. for(var i=0;i<wlist.Count;i++)
  126. {
  127. wlist[i].GetComponent<GameType>().init();
  128. }
  129. }
  130. public List<GameObject> wlist;
  131. public List<GameObject> keji;
  132. public List<GameObject> gongye;
  133. public void showW(GameObjectType gameObjectType,TapName tapName)
  134. {
  135. if(LoadModelAB.ModelDic.ContainsKey("科技车间")&&LoadModelAB.ModelDic.ContainsKey("工业车间"))
  136. {
  137. switch(tapName)
  138. {
  139. case TapName.园区总览:
  140. LoadModelAB.ModelDic["科技车间"].SetActive(true);
  141. LoadModelAB.ModelDic["工业车间"].SetActive(true);
  142. break;
  143. case TapName.德马工业车间:
  144. LoadModelAB.ModelDic["工业车间"].SetActive(false);
  145. LoadModelAB.ModelDic["科技车间"].SetActive(true);
  146. break;
  147. case TapName.德马科技车间:
  148. LoadModelAB.ModelDic["科技车间"].SetActive(false);
  149. LoadModelAB.ModelDic["工业车间"].SetActive(true);
  150. break;
  151. }
  152. }
  153. switch(gameObjectType)
  154. {
  155. case GameObjectType.园区:
  156. for(var i=0;i<wlist.Count;i++)
  157. {
  158. if(wlist[i].GetComponent<GameType>().tapName==tapName)
  159. {
  160. wlist[i].SetActive(true);
  161. }
  162. else
  163. {
  164. wlist[i].SetActive(false);
  165. }
  166. }
  167. break;
  168. case GameObjectType.科技车间:
  169. keji[0].SetActive(tapName == TapName.科技车间总览);
  170. keji[1].SetActive(tapName != TapName.科技车间总览);
  171. break;
  172. case GameObjectType.工业车间:
  173. gongye[0].SetActive(tapName == TapName.工业车间总览);
  174. gongye[1].SetActive(tapName != TapName.工业车间总览);
  175. break;
  176. }
  177. }
  178. public Camera cam;
  179. GameObject hitGo;
  180. void Update()
  181. {
  182. Ray ray = cam.ScreenPointToRay(Input.mousePosition); // 在鼠标点击位置创建一条射线
  183. RaycastHit hit; // 用于存储碰撞信息的结构体
  184. if (Physics.Raycast(ray, out hit)) // 进行射线检测
  185. {
  186. if (Input.GetMouseButtonDown(0)) // 当鼠标左键点击时
  187. {
  188. Debug.Log("点击物体: " + hit.transform.gameObject.name); // 输出碰撞的物体名称
  189. }
  190. else
  191. {
  192. if(hitGo)
  193. {
  194. if(hitGo.name!=hit.transform.gameObject.name)
  195. {
  196. hitGo = hit.transform.gameObject;
  197. Debug.Log("exit物体: " + hitGo.name); // 输出碰撞的物体名称
  198. Debug.Log("enter物体: " +hitGo.name); // 输出碰撞的物体名称
  199. }
  200. }
  201. else
  202. {
  203. hitGo = hit.transform.gameObject;
  204. Debug.Log("enter物体: " + hitGo.name); // 输出碰撞的物体名称
  205. }
  206. }
  207. }
  208. else
  209. {
  210. if(hitGo)
  211. {
  212. Debug.Log("exit物体: " + hitGo.name); // 输出碰撞的物体名称
  213. hitGo=null;
  214. }
  215. }
  216. }
  217. }