EleTrainStudyForm.cs 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. using DG.Tweening;
  5. using GameFramework;
  6. using GameFramework.Event;
  7. using UnityEngine;
  8. using UnityEngine.SceneManagement;
  9. using UnityEngine.Serialization;
  10. using UnityEngine.UI;
  11. using UnityGameFramework.Runtime;
  12. public class EleTrainStudyForm : UIFormLogic
  13. {
  14. private GameObject _trainPanel;
  15. private GameObject _learnPanel;
  16. private GameObject _faultPanel;
  17. private GameObject _trainDoneTips;
  18. private GameObject _faultDoneTips;
  19. private Button _reStartButton;
  20. private Button _cpuButton;
  21. private Button _ramButton;
  22. private Button _fanButton;
  23. private Button _powerButton;
  24. private bool cpuDone = false;
  25. private bool fanDone = false;
  26. private bool ramDone = false;
  27. private bool powerDone = false;
  28. //private GameObject _overHotTips;
  29. private Button _reStarFaultButton;
  30. private Button _cpuFaultButton;
  31. private Button _ramFaultButton;
  32. private Button _fanFaultButton;
  33. private Button _powerFaultButton;
  34. private Image _cpuValueSlider;
  35. private Text _cpuValueText;
  36. private Image _ramValueSlider;
  37. private Text _ramValueText;
  38. private Slider _hardDiskTemperature;
  39. private Image _hardDiskColor;
  40. private Slider _mbTemperature;
  41. private Image _mbColor;
  42. private Slider _fanSpeed;
  43. public Sprite[] learnModelButtonImg;
  44. public Sprite[] trainModelButtonImg;
  45. public Sprite[] bugModelButtonImg;
  46. private Button _learnButton;
  47. private Button _trainButton;
  48. private Button _faultButton;
  49. private IT_TrainModelType _currentType;
  50. private GameObject messagePanel;
  51. private Text nameText;
  52. private Text messageText;
  53. private const string message1 =
  54. "UPS整机柜是UPS系统的主体框架,通常采用封闭的金属箱体设计,内含UPS的所有主要组件。这个整机柜的设计目的在于提供良好的散热和物理保护,以确保UPS系统在运行过程中能够正常工作。通常,整机柜的外形设计符合标准机架或机柜的尺寸,以方便在数据中心或其他机房环境中的安装。整机柜不仅提供了电子元件的支撑结构,还有助于维护UPS系统的整体性能。";
  55. private const string message2 =
  56. "外置电池模块是连接到UPS系统的可拆卸电池单元。这些电池模块的主要功能是存储电能,以在电网电力中断时提供必要的电力备份,确保设备在与电网断开连接时仍能继续运行。这些模块通常具有较大的电力容量,使得UPS系统能够提供长时间的备份电力。外置电池模块的串联连接能够提供更大的电力容量,并且它们的自由拆卸设计使得电池的更换和维护更加便捷。";
  57. private const string message3 =
  58. "UPS配电箱是用于管理和分配电力的设备。这个设备通常包括多个电源输出插口,用于连接到设备,以确保UPS提供的电力能够有效地传递到相应的设备。UPS配电箱还可能包含电力保护和过滤功能,确保连接的设备免受电力波动和干扰的影响。它在维护电力质量方面起到了关键作用,为用户提供可靠的电力输出。";
  59. private const string message4 =
  60. "整机柜液晶控制屏是安装在UPS整机柜上的液晶屏幕,用于显示UPS系统的状态信息、电力参数和配置选项。通过这个屏幕,用户可以实时监控UPS的性能,了解电力输入和输出的状况,以及进行必要的配置和设置。整机柜液晶控制屏提供了用户友好的界面,使得UPS系统的监控和管理变得更加直观和方便。";
  61. private const string message5 =
  62. "UPS(不间断电源)是整个系统的核心组件,包括电源转换器、逆变器、控制电路等。UPS的主要功能是在电网电力中断时提供临时的电力,以保持连接设备的正常运行。电源转换器将交流电转换为直流电来充电蓄电池,而逆变器将蓄电池的直流电转换为设备所需的交流电。控制电路负责监测电力输入和输出,以确保UPS系统的稳定运行。";
  63. private const string message6 =
  64. "一些UPS系统集成了内置蓄电池,用于提供短期的电力备份。这些蓄电池通常设计为维持设备运行一段时间,直到外部电池模块连接或直接供电可以恢复。内置蓄电池通常安装在UPS系统的机箱内部,具有紧凑的设计,以节省空间。它们为UPS系统提供了一种快速响应电力中断的手段,确保设备在关键时刻不会失去电力支持。";
  65. private float randomUpdateTime = 0;
  66. private float cpuValue;
  67. private float ramValue;
  68. bool haveFixed = false;
  69. private GameObject tarinList;
  70. private Button trainB1;
  71. private Button trainB2;
  72. private Button trainB3;
  73. private GameObject faultList;
  74. private Button faultB1;
  75. private Button faultB2;
  76. private Button faultB3;
  77. //$$$
  78. public Button[] faultButtons;
  79. public GameObject faultChoicePanel;
  80. public GameObject[] faultChoices;
  81. public GameObject[] fusedFaultTips;
  82. public GameObject[] uspGoneFaultTips;
  83. public GameObject[] Fault3_Tips;
  84. private RectTransform faultTools;
  85. private GameObject faultSelectButtons;
  86. private Power_FaultToolList faultToolList;
  87. private Button upsButton;
  88. private Button bxsButton;
  89. private Button dcButton;
  90. private Button plButton;
  91. protected override void OnInit(object userData)
  92. {
  93. base.OnInit(userData);
  94. _trainPanel = this.transform.Find("trainPanel").gameObject;
  95. _learnPanel = this.transform.Find("learnPanel").gameObject;
  96. _faultPanel = this.transform.Find("faultPanel").gameObject;
  97. InItUiComponent();
  98. InitFaultTips();
  99. }
  100. protected override void OnOpen(object userData)
  101. {
  102. base.OnOpen(userData);
  103. _trainDoneTips.SetActive(false);
  104. //_cpuButton.GetComponentInChildren<Text>().text = "CPU";
  105. //_fanButton.GetComponentInChildren<Text>().text = "风冷";
  106. //_powerButton.GetComponentInChildren<Text>().text = "电源";
  107. //_ramButton.GetComponentInChildren<Text>().text = "内存";
  108. //GameMain.Event.Subscribe(ReStart_IT_TrainStudyEvent.EventId,ReSetTrainUI);
  109. GameMain.Event.Subscribe(IT_TrainStudyDoneEvent.EventId, OnIT_TrainStudyDone);
  110. GameMain.Event.Subscribe(Ele_TrainStudyShowTargetInfoEvent.EventId, ChangeTargetMessage);
  111. GameMain.Event.Subscribe(Power_FaultNextEvent.EventId, OnGetPower_FaultNext);
  112. _learnPanel.SetActive(true);
  113. _trainPanel.SetActive(false);
  114. _learnButton.image.sprite = learnModelButtonImg[1];
  115. _trainButton.image.sprite = trainModelButtonImg[0];
  116. _faultButton.image.sprite = bugModelButtonImg[0];
  117. ChangeToLearn(true, 0.1f);
  118. tarinList.SetActive(false);
  119. //_currentType = IT_TrainModelType.learn;
  120. //GameMain.Event.Fire(this,IT_StartLearnTargetInfoEvent.Create());
  121. }
  122. protected override void OnUpdate(float elapseSeconds, float realElapseSeconds)
  123. {
  124. base.OnUpdate(elapseSeconds, realElapseSeconds);
  125. }
  126. private void InItUiComponent()
  127. {
  128. _trainDoneTips = _trainPanel.transform.Find("DoneTips").gameObject;
  129. _trainDoneTips.SetActive(false);
  130. messagePanel = _learnPanel.transform.Find("messagePanel").gameObject;
  131. messagePanel.SetActive(false);
  132. nameText = messagePanel.transform.Find("nameText").GetComponent<Text>();
  133. messageText = messagePanel.transform.Find("messageText").GetComponent<Text>();
  134. _faultDoneTips = _faultPanel.transform.Find("DoneTips").gameObject;
  135. _faultDoneTips.SetActive(false);
  136. _faultPanel.SetActive(false);
  137. _reStartButton = _trainPanel.transform.Find("TrainButton/Verlist/reStartButton").GetComponent<Button>();
  138. _reStartButton.onClick.AddListener(() => { GameMain.Event.Fire(this, ReStart_IT_TrainStudyEvent.Create()); });
  139. _learnButton = this.transform.Find("Navi/B1").GetComponent<Button>();
  140. _learnButton.onClick.AddListener(() => { ChangeToLearn(true, 0.1f); });
  141. _trainButton = this.transform.Find("Navi/B2").GetComponent<Button>();
  142. _trainButton.onClick.AddListener(ChangeToTrain);
  143. _faultButton = this.transform.Find("Navi/B3").GetComponent<Button>();
  144. _faultButton.onClick.AddListener(() => { ChangeToFault(); });
  145. tarinList = this.transform.Find("Navi/trainlist").gameObject;
  146. trainB1 = this.transform.Find("Navi/trainlist/B1").GetComponent<Button>();
  147. trainB2 = this.transform.Find("Navi/trainlist/B2").GetComponent<Button>();
  148. trainB3 = this.transform.Find("Navi/trainlist/B3").GetComponent<Button>();
  149. trainB1.onClick.AddListener(() =>
  150. {
  151. GameMain.Event.Fire(this, Ele_TrainAniEvent.Create(1));
  152. tarinList.SetActive(false);
  153. });
  154. trainB2.onClick.AddListener(() =>
  155. {
  156. GameMain.Event.Fire(this, Ele_TrainAniEvent.Create(2));
  157. tarinList.SetActive(false);
  158. });
  159. trainB3.onClick.AddListener(() =>
  160. {
  161. GameMain.Event.Fire(this, Ele_TrainAniEvent.Create(3));
  162. tarinList.SetActive(false);
  163. });
  164. tarinList.SetActive(false);
  165. faultList = this.transform.Find("Navi/faultlist").gameObject;
  166. faultB1 = this.transform.Find("Navi/faultlist/B1").GetComponent<Button>();
  167. faultB2 = this.transform.Find("Navi/faultlist/B2").GetComponent<Button>();
  168. faultB3 = this.transform.Find("Navi/faultlist/B3").GetComponent<Button>();
  169. faultB1.onClick.AddListener(() =>
  170. {
  171. foreach (var objs in faultChoices)
  172. {
  173. objs.SetActive(false);
  174. }
  175. faultChoicePanel.SetActive(false);
  176. GameMain.Event.Fire(this, FaultChoicesChangeEvent.Create(-1));
  177. GameMain.Event.Fire(this, Power_FaultStartEvent.Create(Power_FaultType.fused));
  178. faultList.SetActive(false);
  179. });
  180. faultB2.onClick.AddListener(() =>
  181. {
  182. foreach (var objs in faultChoices)
  183. {
  184. objs.SetActive(false);
  185. }
  186. faultChoicePanel.SetActive(false);
  187. GameMain.Event.Fire(this, FaultChoicesChangeEvent.Create(-1));
  188. GameMain.Event.Fire(this, Power_FaultStartEvent.Create(Power_FaultType.UspGone));
  189. faultList.SetActive(false);
  190. });
  191. faultB3.onClick.AddListener(() =>
  192. {
  193. foreach (var objs in faultChoices)
  194. {
  195. objs.SetActive(false);
  196. }
  197. faultChoicePanel.SetActive(false);
  198. GameMain.Event.Fire(this, FaultChoicesChangeEvent.Create(-1));
  199. GameMain.Event.Fire(this, Power_FaultStartEvent.Create(Power_FaultType.dc));
  200. faultList.SetActive(false);
  201. });
  202. //$$$------------------------
  203. faultChoicePanel = this.transform.Find($"faultChoicePanel").gameObject;
  204. faultChoices = new GameObject[8];
  205. for (int i = 0; i < 8; i++)
  206. {
  207. faultChoices[i] = this.transform.Find($"faultChoicePanel/BG/Quest_{i + 1}").gameObject;
  208. faultChoices[i].SetActive(false);
  209. }
  210. faultChoicePanel.SetActive(false);
  211. faultButtons = new Button[7];
  212. for (int i = 0; i < 7; i++)
  213. {
  214. faultButtons[i] = this.transform.Find($"Navi/faultlist/B{i + 4}").GetComponent<Button>();
  215. }
  216. faultButtons[0].onClick.AddListener(() => { faultChoicesClick(0); });
  217. faultButtons[1].onClick.AddListener(() => { faultChoicesClick(1); });
  218. faultButtons[2].onClick.AddListener(() => { faultChoicesClick(2); });
  219. faultButtons[3].onClick.AddListener(() => { faultChoicesClick(3); });
  220. faultButtons[4].onClick.AddListener(() => { faultChoicesClick(4); });
  221. faultButtons[5].onClick.AddListener(() => { faultChoicesClick(5); });
  222. faultButtons[6].onClick.AddListener(() => { faultChoicesClick(6); });
  223. faultChoicePanel.SetActive(false);
  224. //$$$------------------------
  225. faultList.SetActive(false);
  226. }
  227. //$$$------------------------
  228. private void faultChoicesClick(int index)
  229. {
  230. foreach (var obj in fusedFaultTips)
  231. {
  232. obj.SetActive(false);
  233. }
  234. foreach (var obj in uspGoneFaultTips)
  235. {
  236. obj.SetActive(false);
  237. }
  238. foreach (var obj in Fault3_Tips)
  239. {
  240. obj.SetActive(false);
  241. }
  242. faultList.SetActive(false);
  243. foreach (var objs in faultChoices)
  244. {
  245. objs.SetActive(false);
  246. }
  247. GameMain.Event.Fire(this, FaultChoicesChangeEvent.Create(index));
  248. faultChoices[index].SetActive(true);
  249. faultChoicePanel.SetActive(true);
  250. faultList.SetActive(false);
  251. }
  252. private void InitFaultTips()
  253. {
  254. uspGoneFaultTips = new GameObject[6];
  255. for (int i = 0; i < uspGoneFaultTips.Length; i++)
  256. {
  257. uspGoneFaultTips[i] = _faultPanel.transform.Find($"Doc/BG/Step1_{i}").gameObject;
  258. uspGoneFaultTips[i].SetActive(false);
  259. }
  260. fusedFaultTips = new GameObject[8];
  261. for (int i = 0; i < fusedFaultTips.Length; i++)
  262. {
  263. fusedFaultTips[i] = _faultPanel.transform.Find($"Doc/BG/Step2_{i}").gameObject;
  264. fusedFaultTips[i].SetActive(false);
  265. }
  266. Fault3_Tips = new GameObject[6];
  267. for (int i = 0; i < Fault3_Tips.Length; i++)
  268. {
  269. Fault3_Tips[i] = _faultPanel.transform.Find($"Doc/BG/Step3_{i}").gameObject;
  270. Fault3_Tips[i].SetActive(false);
  271. }
  272. faultTools = _faultPanel.transform.Find($"Tools").GetComponent<RectTransform>();
  273. faultTools.localPosition = new Vector3(1120, 0, 0);
  274. faultSelectButtons = _faultPanel.transform.Find($"FixButton").gameObject;
  275. upsButton = _faultPanel.transform.Find("FixButton/Verlist/upsButton").GetComponent<Button>();
  276. bxsButton = _faultPanel.transform.Find("FixButton/Verlist/bxsButton").GetComponent<Button>();
  277. dcButton = _faultPanel.transform.Find("FixButton/Verlist/dcButton").GetComponent<Button>();
  278. plButton = _faultPanel.transform.Find("FixButton/Verlist/plButton").GetComponent<Button>();
  279. upsButton.onClick.AddListener(() => { GameMain.Event.Fire(this, Power_SelectFaultItemEvent.Create(Power_FaultType.UspGone)); });
  280. bxsButton.onClick.AddListener(() => { GameMain.Event.Fire(this, Power_SelectFaultItemEvent.Create(Power_FaultType.fused)); });
  281. dcButton.onClick.AddListener(() => { GameMain.Event.Fire(this, Power_SelectFaultItemEvent.Create(Power_FaultType.dc)); });
  282. plButton.onClick.AddListener(() => { GameMain.Event.Fire(this, Power_SelectFaultItemEvent.Create(Power_FaultType.pl)); });
  283. faultSelectButtons.SetActive(false);
  284. faultToolList = faultTools.GetComponent<Power_FaultToolList>();
  285. }
  286. protected override void OnClose(bool isShutdown, object userData)
  287. {
  288. base.OnClose(isShutdown, userData);
  289. //GameMain.Event.Unsubscribe(ReStart_IT_TrainStudyEvent.EventId,ReSetTrainUI);
  290. GameMain.Event.Unsubscribe(IT_TrainStudyDoneEvent.EventId, OnIT_TrainStudyDone);
  291. GameMain.Event.Unsubscribe(Ele_TrainStudyShowTargetInfoEvent.EventId, ChangeTargetMessage);
  292. GameMain.Event.Unsubscribe(Power_FaultNextEvent.EventId, OnGetPower_FaultNext);
  293. }
  294. private async void ChangeToLearn(bool force = false, float delayTime = 0.0f)
  295. {
  296. tarinList.SetActive(false);
  297. _faultDoneTips.SetActive(false);
  298. faultList.SetActive(false);
  299. if (_currentType == IT_TrainModelType.learn && !force)
  300. return;
  301. if (SceneManager.GetActiveScene().name != "TrainStudy4_1")
  302. SceneManager.LoadScene("TrainStudy4_1");
  303. await Task.Delay((int)(delayTime * 1000));
  304. //GameMain.Event.Fire(this,IT_TrainStudyStateEvent.Create(false));
  305. GameMain.Event.Fire(this, Ele_StartLearnTargetInfoEvent.Create());
  306. _currentType = IT_TrainModelType.learn;
  307. _learnButton.image.sprite = learnModelButtonImg[1];
  308. _trainButton.image.sprite = trainModelButtonImg[0];
  309. _faultButton.image.sprite = bugModelButtonImg[0];
  310. _trainPanel.SetActive(false);
  311. _learnPanel.SetActive(true);
  312. _faultPanel.SetActive(false);
  313. //$$$------------------------
  314. faultChoicePanel.SetActive(false);
  315. }
  316. private void ChangeToTrain()
  317. {
  318. faultList.SetActive(false);
  319. tarinList.SetActive(true);
  320. if (_currentType == IT_TrainModelType.train)
  321. return;
  322. _learnPanel.SetActive(false);
  323. _faultPanel.SetActive(false);
  324. _learnButton.image.sprite = learnModelButtonImg[0];
  325. _trainButton.image.sprite = trainModelButtonImg[1];
  326. _faultButton.image.sprite = bugModelButtonImg[0];
  327. _currentType = IT_TrainModelType.train;
  328. if (SceneManager.GetActiveScene().name != "TrainStudy4")
  329. SceneManager.LoadScene("TrainStudy4");
  330. //_trainPanel.SetActive(true);
  331. //$$$------------------------
  332. faultChoicePanel.SetActive(false);
  333. }
  334. private void ChangeToFault(bool force = false)
  335. {
  336. tarinList.SetActive(false);
  337. faultList.SetActive(true);
  338. if (_currentType == IT_TrainModelType.fault && !force)
  339. return;
  340. GameMain.Event.Fire(this, Ele_TrainStudyStateEvent.Create(false));
  341. GameMain.Event.Fire(this, Ele_StartLearnTargetInfoEvent.Create(false));
  342. _learnButton.image.sprite = learnModelButtonImg[0];
  343. _trainButton.image.sprite = trainModelButtonImg[0];
  344. _faultButton.image.sprite = bugModelButtonImg[1];
  345. _faultPanel.SetActive(true);
  346. _trainPanel.SetActive(false);
  347. _learnPanel.SetActive(false);
  348. _currentType = IT_TrainModelType.fault;
  349. _faultPanel.transform.Find($"Doc").gameObject.SetActive(false);
  350. _faultPanel.transform.Find($"FixButton").gameObject.SetActive(false);
  351. _faultPanel.transform.Find($"Tools").GetComponent<RectTransform>().localPosition = new Vector3(1120, 0, 0);
  352. if (SceneManager.GetActiveScene().name != "TrainStudy4_2" || force)
  353. SceneManager.LoadScene("TrainStudy4_2");
  354. //$$$------------------------
  355. faultChoicePanel.SetActive(false);
  356. }
  357. private void ResetFaultPanel()
  358. {
  359. _faultDoneTips.SetActive(false);
  360. haveFixed = false;
  361. DOTween.Kill("_fanSpeed");
  362. DOTween.Kill("_mbTemperature");
  363. DOTween.Kill("_hardDiskTemperature");
  364. //_overHotTips.SetActive(true);
  365. _mbTemperature.value = 9;
  366. _mbTemperature.DOValue(8, 0.8f).SetLoops(-1, LoopType.Yoyo).SetId("_mbTemperature");
  367. _hardDiskTemperature.value = 9;
  368. _hardDiskTemperature.DOValue(8, 1.2f).SetLoops(-1, LoopType.Yoyo).SetId("_hardDiskTemperature");
  369. _fanSpeed.value = 0;
  370. _hardDiskColor.color = Color.red;
  371. _mbColor.color = Color.red;
  372. }
  373. private void FixFault(ITHardWaryType type)
  374. {
  375. switch (type)
  376. {
  377. case ITHardWaryType.cpu:
  378. break;
  379. case ITHardWaryType.fan:
  380. break;
  381. case ITHardWaryType.ram:
  382. break;
  383. case ITHardWaryType.power:
  384. break;
  385. case ITHardWaryType.none:
  386. break;
  387. }
  388. }
  389. private void ChangeTargetMessage(object sender, GameEventArgs e)
  390. {
  391. Ele_TrainStudyShowTargetInfoEvent args = (Ele_TrainStudyShowTargetInfoEvent)e;
  392. switch (args._Type)
  393. {
  394. case EleHardWaryType.PDG:
  395. nameText.text = "UPS整机柜";
  396. messageText.text = message1;
  397. if (!messagePanel.activeSelf)
  398. {
  399. messagePanel.SetActive(true);
  400. }
  401. break;
  402. case EleHardWaryType.DCG:
  403. nameText.text = "外置电池模块";
  404. messageText.text = message2;
  405. if (!messagePanel.activeSelf)
  406. {
  407. messagePanel.SetActive(true);
  408. }
  409. break;
  410. case EleHardWaryType.PDX:
  411. nameText.text = "UPS配电箱";
  412. messageText.text = message3;
  413. if (!messagePanel.activeSelf)
  414. {
  415. messagePanel.SetActive(true);
  416. }
  417. break;
  418. case EleHardWaryType.YJP:
  419. nameText.text = "液晶控制屏";
  420. messageText.text = message4;
  421. if (!messagePanel.activeSelf)
  422. {
  423. messagePanel.SetActive(true);
  424. }
  425. break;
  426. case EleHardWaryType.UPS:
  427. nameText.text = "UPS";
  428. messageText.text = message5;
  429. if (!messagePanel.activeSelf)
  430. {
  431. messagePanel.SetActive(true);
  432. }
  433. break;
  434. case EleHardWaryType.DC:
  435. nameText.text = "UPS内置电池";
  436. messageText.text = message6;
  437. if (!messagePanel.activeSelf)
  438. {
  439. messagePanel.SetActive(true);
  440. }
  441. break;
  442. case EleHardWaryType.none:
  443. messagePanel.SetActive(false);
  444. break;
  445. }
  446. }
  447. private void ReSetTrainUI(object sender, GameEventArgs e)
  448. {
  449. _trainDoneTips.SetActive(false);
  450. //_cpuButton.GetComponentInChildren<Text>().text = "CPU";
  451. //_fanButton.GetComponentInChildren<Text>().text = "风冷";
  452. //_powerButton.GetComponentInChildren<Text>().text = "电源";
  453. //_ramButton.GetComponentInChildren<Text>().text = "内存";
  454. //cpuDone = false;
  455. //fanDone = false;
  456. //ramDone = false;
  457. //powerDone = false;
  458. }
  459. private void OnIT_TrainStudyDone(object sender, GameEventArgs e)
  460. {
  461. //Debug.Log(11111111111);
  462. _faultDoneTips.SetActive(true);
  463. ChangeToFault(true);
  464. //GameMain.UI.OpenUIForm("Tips", "Pop");
  465. }
  466. private void OnGetPower_FaultNext(object sender, GameEventArgs e)
  467. {
  468. Power_FaultNextEvent args = (Power_FaultNextEvent)e;
  469. _faultPanel.transform.Find($"Doc").gameObject.SetActive(true);
  470. switch (args.FaultType)
  471. {
  472. case Power_FaultType.fused:
  473. for (int i = 0; i < uspGoneFaultTips.Length; i++)
  474. {
  475. uspGoneFaultTips[i].SetActive(false);
  476. }
  477. uspGoneFaultTips[args.stepIndex].SetActive(true);
  478. if (args.stepIndex == 0)
  479. {
  480. for (int i = 0; i < fusedFaultTips.Length; i++)
  481. {
  482. fusedFaultTips[i].SetActive(false);
  483. }
  484. foreach (var t in Fault3_Tips)
  485. {
  486. t.SetActive(false);
  487. }
  488. faultSelectButtons.SetActive(true);
  489. faultTools.localPosition = new Vector3(1120, 0, 0);
  490. faultToolList.ReSetToolList(1);
  491. }
  492. else
  493. {
  494. faultSelectButtons.SetActive(false);
  495. faultTools.localPosition = new Vector3(920, 0, 0);
  496. }
  497. break;
  498. case Power_FaultType.UspGone:
  499. for (int i = 0; i < fusedFaultTips.Length; i++)
  500. {
  501. fusedFaultTips[i].SetActive(false);
  502. }
  503. fusedFaultTips[args.stepIndex].SetActive(true);
  504. if (args.stepIndex == 0)
  505. {
  506. for (int i = 0; i < uspGoneFaultTips.Length; i++)
  507. {
  508. uspGoneFaultTips[i].SetActive(false);
  509. }
  510. foreach (var t in Fault3_Tips)
  511. {
  512. t.SetActive(false);
  513. }
  514. faultSelectButtons.SetActive(true);
  515. faultTools.localPosition = new Vector3(1120, 0, 0);
  516. faultToolList.ReSetToolList(0);
  517. }
  518. else
  519. {
  520. faultSelectButtons.SetActive(false);
  521. faultTools.localPosition = new Vector3(920, 0, 0);
  522. }
  523. break;
  524. case Power_FaultType.dc:
  525. for (int i = 0; i < Fault3_Tips.Length; i++)
  526. {
  527. Fault3_Tips[i].SetActive(false);
  528. }
  529. Fault3_Tips[args.stepIndex].SetActive(true);
  530. if (args.stepIndex == 0)
  531. {
  532. for (int i = 0; i < uspGoneFaultTips.Length; i++)
  533. {
  534. uspGoneFaultTips[i].SetActive(false);
  535. }
  536. for (int i = 0; i < fusedFaultTips.Length; i++)
  537. {
  538. fusedFaultTips[i].SetActive(false);
  539. }
  540. faultSelectButtons.SetActive(true);
  541. faultTools.localPosition = new Vector3(1120, 0, 0);
  542. faultToolList.ReSetToolList(0);
  543. }
  544. else
  545. {
  546. faultSelectButtons.SetActive(false);
  547. faultTools.localPosition = new Vector3(920, 0, 0);
  548. }
  549. break;
  550. }
  551. }
  552. }