using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; using UnityEngine.UI; using ZXK.Framework; using ZXK.UTility; /******************************************************************************* *Create By CG *Function 程序顶部UI控制 *******************************************************************************/ namespace ZXK.BYSS { public class HoverPanel : UIBase { private Image _topImg = null; private Image _returnExitImg = null; private GameObject[] _btns = new GameObject[5]; private PracticeAndExamInSceneCtrl _practiceAndExamCtrl = null; private static Sprite _normalImg = null; private void Start() { _returnExitImg = GetWedage("ReturnExit_N").GetComponent(); _topImg = GetWedage("TopImg_N").GetComponent(); AddEventListener("ReturnExit_N", UIEventType.OnButtonClick, () => { PopUpMng._TriAble = true; ReturnExit(); }); AddEventListener("Home_N", UIEventType.OnButtonClick, () => { PopUpMng._TriAble = true; AppManagement.Instance.ChangeModel(EnumCtrl.Model.Home); }); AddEventListener("Setting_N", UIEventType.OnButtonClick, () => { UI_Manage.Instance.ShowPanel("SettingSystemPanel"); }); GameObject computerBtnGeo = GetWedage("ComputerBtn_N"); _btns[0] = computerBtnGeo; _normalImg = computerBtnGeo.GetComponent().sprite; GameObject connectBtnGeo = GetWedage("ConnectBtn_N"); _btns[1] = connectBtnGeo; GameObject debugBtnGeo = GetWedage("DebugBtn_N"); _btns[2] = debugBtnGeo; GameObject gasBtnGeo = GetWedage("GasBtn_N"); _btns[3] = gasBtnGeo; GameObject runningBtnGeo = GetWedage("RunningBtn_N"); _btns[4] = runningBtnGeo; AddEventListener("ComputerBtn_N", UIEventType.OnButtonClick, () => { if (AppManagement.Instance._CurModel != EnumCtrl.Model.Train) { PopUpMng._TriAble = true; SetProcessBtnState(0); } }); AddEventListener("ConnectBtn_N", UIEventType.OnButtonClick, () => { if (AppManagement.Instance._CurModel != EnumCtrl.Model.Line) { PopUpMng._TriAble = true; SetProcessBtnState(1); } }); AddEventListener("DebugBtn_N", UIEventType.OnButtonClick, () => { if (AppManagement.Instance._CurModel != EnumCtrl.Model.Debug) { PopUpMng._TriAble = true; SetProcessBtnState(2); } }); AddEventListener("GasBtn_N", UIEventType.OnButtonClick, () => { if (AppManagement.Instance._CurModel != EnumCtrl.Model.Gas) { PopUpMng._TriAble = true; SetProcessBtnState(3); } }); AddEventListener("RunningBtn_N", UIEventType.OnButtonClick, () => { if (AppManagement.Instance._CurModel != EnumCtrl.Model.Running) { PopUpMng._TriAble = true; SetProcessBtnState(4); } }); //不同logo模式,显示不同的logo图片 switch (AppManagement.Instance.curLogoType) { case EnumCtrl.LogoType.LNZB: GetWedage("logo_N").gameObject.SetActive(true); GetWedage("ZXKlOGO_N").gameObject.SetActive(false); break; case EnumCtrl.LogoType.ZXK: GetWedage("ZXKlOGO_N").gameObject.SetActive(true); GetWedage("logo_N").gameObject.SetActive(false); break; } } private void LateUpdate() { ChangeStyle(); if ((int)AppManagement.Instance._CurModel >= (int)EnumCtrl.Model.Train) { if (AppManagement.Instance._TrainExam == EnumCtrl.Model.Train) { for (int i = 0; i < _btns.Length; i++) { _btns[i].SetActive(true); } } } else { for (int i = 0; i < _btns.Length; i++) { _btns[i].SetActive(false); } } GetWedage("HoverParent_N").SetActive(true); switch (AppManagement.Instance._CurModel) { case EnumCtrl.Model.Train: SetBtnStyle(0); break; case EnumCtrl.Model.Exam: break; case EnumCtrl.Model.Line: SetBtnStyle(1); break; case EnumCtrl.Model.Debug: GetWedage("HoverParent_N").SetActive(false); SetBtnStyle(2); break; case EnumCtrl.Model.Gas: SetBtnStyle(3); break; case EnumCtrl.Model.Running: SetBtnStyle(4); break; case EnumCtrl.Model.Teach: SetBtnStyle(0); break; default: break; } } private void ReturnExit() { EnumCtrl.Model modelTemp = EnumCtrl.Model.None; switch (AppManagement.Instance._CurModel) { case EnumCtrl.Model.None: break; case EnumCtrl.Model.Home: UtilitiesMng.CustomQuit(); break; case EnumCtrl.Model.Select2: modelTemp = EnumCtrl.Model.Home; break; case EnumCtrl.Model.Select3: case EnumCtrl.Model.Cognize: modelTemp = EnumCtrl.Model.Select2; break; case EnumCtrl.Model.Teach: case EnumCtrl.Model.Train: case EnumCtrl.Model.Exam: case EnumCtrl.Model.Line: case EnumCtrl.Model.Debug: case EnumCtrl.Model.Gas: case EnumCtrl.Model.Running: modelTemp = EnumCtrl.Model.Select3; break; default: break; } AppManagement.Instance.ChangeModel(modelTemp); } private void ChangeStyle() { if (AppManagement.Instance._CurModel == EnumCtrl.Model.Home) { _returnExitImg.color = new Color(1 ,1, 1, 0); _returnExitImg.transform.GetChild(0).GetComponent().color = new Color(1, 1, 1, 1); _topImg.gameObject.SetActive(false);//.enabled = false; } else { _returnExitImg.color = new Color(1, 1, 1, 1); _returnExitImg.transform.GetChild(0).GetComponent().color = new Color(1, 1, 1, 0); _topImg.gameObject.SetActive(true);//.enabled = true; } } /// /// 外部跳过组装模式方法 /// public void SwitchZuZhuang() { if (AppManagement.Instance._CurModel != EnumCtrl.Model.Line) { PopUpMng._TriAble = true; SetProcessBtnState(1); } } private void SetProcessBtnState(int index) { _practiceAndExamCtrl = UI_Manage.Instance.GetPanel("PracticeAndExamPanel").GetComponent()._CurTrainExamSceneCtrl; for (int i = 0; i < _btns.Length; i++) { if (i < index) { _btns[i].GetComponent().color = new Color(170 / 255.0f, 170 / 255.0f, 170 / 255.0f, 170 / 255.0f); _btns[i].GetComponent