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 AppTrainStudyForm : 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 App认知的文字 private const string GSEMessage = "GSE作为管控平台,集成监控、调度与自动化,提供全方位系统管理,确保系统组件协同高效运行。通过智能调度和资源优化,实现高性能、稳定性和可扩展性的系统运维。"; private const string CMDBMessage = "CMDB是配置管理数据库,详细记录系统组件配置信息,支持实时状态监测和智能配置管理。通过构建组件之间的关系图,实现对整个系统配置的清晰可视化,提供数据支持系统稳定性和可靠性。"; private const string JobMessage = "Job作为作业平台,提供作业任务的调度和执行服务。通过灵活的调度策略,实现系统作业的自动化管理,优化任务执行效率,确保系统作业的高效执行和调度。"; private const string PaaSMessage = "PaaS是集成平台,提供全套的开发、部署和运行平台。通过集成开发工具、服务和运行环境,简化应用程序的构建和管理,支持快速应用开发、测试和上线,推动业务创新。"; private const string BKDataMessage = "BKData是大数据平台,专注于大规模数据处理与分析。提供高性能的数据存储和处理引擎,支持数据驱动决策,为企业提供强大的数据处理和分析能力。"; private const string ApptSaaSMessage = "ApptSaaS为Saas应用提供专用测试环境,用于验证应用功能、性能和稳定性。通过模拟真实场景和大规模用户负载,确保Saas应用在发布前经过全面、严格的测试。"; private const string AppoSaaSMessage = "AppoSaaS是Saas应用的正式生产环境,提供高可用、稳定和安全的服务。通过灵活的扩展性和自动化运维,确保用户在任何时间都能正常、高效地使用Saas应用。"; private const string LicenseMessage = "License管理模块用于管理软件许可证和用户权限。通过严格的许可证管理,确保软件合法使用,同时支持许可证的分发、监控和维护。"; private const string NginxWebMessage = "NginxWeb是高性能的Web服务器和反向代理,用于处理HTTP请求。支持负载均衡、反向代理和静态文件服务,提供快速、可靠的Web服务。"; private const string MySQLMessage = "MySQL是开源的关系型数据库管理系统,用于存储和检索结构化数据。通过支持事务处理和复杂查询,提供稳定可靠的数据库服务。"; private const string RedisMessage = "Redis是高性能的内存数据库,用于快速数据存储和检索。支持多种数据结构,适用于缓存、消息队列和实时数据处理等场景。"; private const string ZookeeperMessage = "Zookeeper提供分布式系统协调服务,管理配置信息和分布式锁,确保系统的一致性和可用性。通过提供高度可靠的分布式协调支持,为复杂系统的协同运行提供基础。"; private const string MongoDBMessage = "MongoDB是非关系型数据库管理系统,支持灵活的文档存储。适用于大数据和实时应用场景,提供高效、可扩展的数据库服务。"; private const string RabbitMQMessage = "RabbitMQ是开源的消息队列系统,用于实现应用程序间的异步通信。支持事件驱动架构,提高系统的松耦合性和可扩展性。"; private const string InfluxDBMessage = "InfluxDB是专注于时序数据的数据库,适用于监控和IoT场景。提供高效的时序数据存储和查询,满足大规模时序数据分析的需求。"; private const string VirtualenvMessage = "Virtualenv是用于创建和管理Python虚拟环境的工具。通过实现项目隔离和依赖管理,提供灵活的Python环境支持。"; private const string DockerMessage = "Docker提供容器化解决方案,封装应用及其依赖项,实现跨平台和快速部署。通过容器化技术,简化应用程序的开发、测试和部署流程,提高系统的灵活性和可移植性。"; bool haveFixed = false; private GameObject tarinList; private Button trainB1; private Button trainB2; private GameObject faultList; //$$$ public Button[] faultButtons; public GameObject faultChoicePanel; public GameObject[] faultChoices; 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(); } protected override void OnOpen(object userData) { base.OnOpen(userData); _trainDoneTips.SetActive(false); GameMain.Event.Subscribe(App_TrainStudyShowTargetInfoEvent.EventId,ChangeTargetMessage); _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