using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using DG.Tweening; using GameFramework; using GameFramework.Event; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.Serialization; using UnityEngine.UI; using UnityGameFramework.Runtime; public class EleTrainStudyForm : UIFormLogic { private GameObject _trainPanel; private GameObject _learnPanel; private GameObject _faultPanel; private GameObject _trainDoneTips; private GameObject _faultDoneTips; private Button _reStartButton; private Button _cpuButton; private Button _ramButton; private Button _fanButton; private Button _powerButton; private bool cpuDone = false; private bool fanDone = false; private bool ramDone = false; private bool powerDone = false; //private GameObject _overHotTips; private Button _reStarFaultButton; private Button _cpuFaultButton; private Button _ramFaultButton; private Button _fanFaultButton; private Button _powerFaultButton; private Image _cpuValueSlider; private Text _cpuValueText; private Image _ramValueSlider; private Text _ramValueText; private Slider _hardDiskTemperature; private Image _hardDiskColor; private Slider _mbTemperature; private Image _mbColor; private Slider _fanSpeed; public Sprite[] learnModelButtonImg; public Sprite[] trainModelButtonImg; public Sprite[] bugModelButtonImg; private Button _learnButton; private Button _trainButton; private Button _faultButton; private IT_TrainModelType _currentType; private GameObject messagePanel; private Text nameText; private Text messageText; private const string message1 = "UPS整机柜是UPS系统的主体框架,通常采用封闭的金属箱体设计,内含UPS的所有主要组件。这个整机柜的设计目的在于提供良好的散热和物理保护,以确保UPS系统在运行过程中能够正常工作。通常,整机柜的外形设计符合标准机架或机柜的尺寸,以方便在数据中心或其他机房环境中的安装。整机柜不仅提供了电子元件的支撑结构,还有助于维护UPS系统的整体性能。"; private const string message2 = "外置电池模块是连接到UPS系统的可拆卸电池单元。这些电池模块的主要功能是存储电能,以在电网电力中断时提供必要的电力备份,确保设备在与电网断开连接时仍能继续运行。这些模块通常具有较大的电力容量,使得UPS系统能够提供长时间的备份电力。外置电池模块的串联连接能够提供更大的电力容量,并且它们的自由拆卸设计使得电池的更换和维护更加便捷。"; private const string message3 = "UPS配电箱是用于管理和分配电力的设备。这个设备通常包括多个电源输出插口,用于连接到设备,以确保UPS提供的电力能够有效地传递到相应的设备。UPS配电箱还可能包含电力保护和过滤功能,确保连接的设备免受电力波动和干扰的影响。它在维护电力质量方面起到了关键作用,为用户提供可靠的电力输出。"; private const string message4 = "整机柜液晶控制屏是安装在UPS整机柜上的液晶屏幕,用于显示UPS系统的状态信息、电力参数和配置选项。通过这个屏幕,用户可以实时监控UPS的性能,了解电力输入和输出的状况,以及进行必要的配置和设置。整机柜液晶控制屏提供了用户友好的界面,使得UPS系统的监控和管理变得更加直观和方便。"; private const string message5 = "UPS(不间断电源)是整个系统的核心组件,包括电源转换器、逆变器、控制电路等。UPS的主要功能是在电网电力中断时提供临时的电力,以保持连接设备的正常运行。电源转换器将交流电转换为直流电来充电蓄电池,而逆变器将蓄电池的直流电转换为设备所需的交流电。控制电路负责监测电力输入和输出,以确保UPS系统的稳定运行。"; private const string message6 = "一些UPS系统集成了内置蓄电池,用于提供短期的电力备份。这些蓄电池通常设计为维持设备运行一段时间,直到外部电池模块连接或直接供电可以恢复。内置蓄电池通常安装在UPS系统的机箱内部,具有紧凑的设计,以节省空间。它们为UPS系统提供了一种快速响应电力中断的手段,确保设备在关键时刻不会失去电力支持。"; private float randomUpdateTime = 0; private float cpuValue; private float ramValue; bool haveFixed = false; private GameObject tarinList; private Button trainB1; private Button trainB2; private Button trainB3; private GameObject faultList; private Button faultB1; private Button faultB2; private Button faultB3; //$$$ public Button[] faultButtons; public GameObject faultChoicePanel; public GameObject[] faultChoices; public GameObject[] fusedFaultTips; public GameObject[] uspGoneFaultTips; public GameObject[] Fault3_Tips; private RectTransform faultTools; private GameObject faultSelectButtons; private Power_FaultToolList faultToolList; private Button upsButton; private Button bxsButton; private Button dcButton; private Button plButton; protected override void OnInit(object userData) { base.OnInit(userData); _trainPanel = this.transform.Find("trainPanel").gameObject; _learnPanel = this.transform.Find("learnPanel").gameObject; _faultPanel = this.transform.Find("faultPanel").gameObject; InItUiComponent(); InitFaultTips(); } protected override void OnOpen(object userData) { base.OnOpen(userData); _trainDoneTips.SetActive(false); //_cpuButton.GetComponentInChildren().text = "CPU"; //_fanButton.GetComponentInChildren().text = "风冷"; //_powerButton.GetComponentInChildren().text = "电源"; //_ramButton.GetComponentInChildren().text = "内存"; //GameMain.Event.Subscribe(ReStart_IT_TrainStudyEvent.EventId,ReSetTrainUI); GameMain.Event.Subscribe(IT_TrainStudyDoneEvent.EventId, OnIT_TrainStudyDone); GameMain.Event.Subscribe(Ele_TrainStudyShowTargetInfoEvent.EventId, ChangeTargetMessage); GameMain.Event.Subscribe(Power_FaultNextEvent.EventId, OnGetPower_FaultNext); _learnPanel.SetActive(true); _trainPanel.SetActive(false); _learnButton.image.sprite = learnModelButtonImg[1]; _trainButton.image.sprite = trainModelButtonImg[0]; _faultButton.image.sprite = bugModelButtonImg[0]; ChangeToLearn(true, 0.1f); tarinList.SetActive(false); //_currentType = IT_TrainModelType.learn; //GameMain.Event.Fire(this,IT_StartLearnTargetInfoEvent.Create()); } protected override void OnUpdate(float elapseSeconds, float realElapseSeconds) { base.OnUpdate(elapseSeconds, realElapseSeconds); } private void InItUiComponent() { _trainDoneTips = _trainPanel.transform.Find("DoneTips").gameObject; _trainDoneTips.SetActive(false); messagePanel = _learnPanel.transform.Find("messagePanel").gameObject; messagePanel.SetActive(false); nameText = messagePanel.transform.Find("nameText").GetComponent(); messageText = messagePanel.transform.Find("messageText").GetComponent(); _faultDoneTips = _faultPanel.transform.Find("DoneTips").gameObject; _faultDoneTips.SetActive(false); _faultPanel.SetActive(false); _reStartButton = _trainPanel.transform.Find("TrainButton/Verlist/reStartButton").GetComponent