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; using UnityAsync; using WaitUntil = UnityAsync.WaitUntil; public class NetTrainStudyForm : UIFormLogic { private GameObject _trainPanel; private GameObject _learnPanel; private GameObject _faultPanel; private GameObject _trainDoneTips; private GameObject _faultDoneTips; private Button _reStartButton; 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; //todo 网络认知的文字 private const string LYQMessage = "路由器是网络设备,负责将数据包从源设备转发到目标设备。它使用IP地址来确定数据的路径,实现不同网络之间的连接,支持网络间的通信和资源共享。路由器也能提供网络安全功能,如防火墙和虚拟专用网络(VPN)。"; private const string JHJMessage = "交换机是局域网内的核心设备,通过学习MAC地址建立设备间通信表,根据表项快速转发数据帧,提供高性能和低延迟的内部通信。它有助于构建大规模、高效的企业网络。"; private const string FWQMessage = "浪潮服务器是浪潮集团生产的服务器产品,具有卓越的性能和可靠性。这些服务器适用于各种场景,包括数据中心、云计算、企业IT等,满足不同规模和需求的用户。浪潮服务器支持虚拟化、大数据处理和高性能计算等多种应用。"; bool haveFixed = false; private GameObject tarinList; private Button trainB1; private Button trainB2; private Button trainB3; private Button trainB4; private GameObject faultList; private Button faultB1; private Button faultB2; //$$$ public Button[] faultButtons; public GameObject faultChoicePanel; public GameObject[] faultChoices; public GameObject[] netWordListFaultTips; public GameObject[] lightModelFaultTips; private RectTransform faultTools; private GameObject faultSelectButtons; private Net_FaultToolList faultToolList; private Button lyqButton; private Button jhjButton; private Button wxButton; private Button wkButton; 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); GameMain.Event.Subscribe(ReStart_IT_TrainStudyEvent.EventId, ReSetTrainUI); GameMain.Event.Subscribe(IT_TrainStudyDoneEvent.EventId, OnIT_TrainStudyDone); GameMain.Event.Subscribe(Net_TrainStudyShowTargetInfoEvent.EventId, ChangeTargetMessage); GameMain.Event.Subscribe(Net_FaultNextEvent.EventId, OnGetNet_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