402 lines
14 KiB
C#
402 lines
14 KiB
C#
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<Image>();
|
|
_topImg = GetWedage("TopImg_N").GetComponent<Image>();
|
|
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<Image>().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<Image>().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<Image>().color = new Color(1, 1, 1, 0);
|
|
_topImg.gameObject.SetActive(true);//.enabled = true;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Íâ²¿Ìø¹ý×éװģʽ·½·¨
|
|
/// </summary>
|
|
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<PracticeAndExamPanel>()._CurTrainExamSceneCtrl;
|
|
for (int i = 0; i < _btns.Length; i++)
|
|
{
|
|
if (i < index)
|
|
{
|
|
_btns[i].GetComponent<Image>().color = new Color(170 / 255.0f, 170 / 255.0f, 170 / 255.0f, 170 / 255.0f);
|
|
_btns[i].GetComponent<Button>().interactable = false;
|
|
_btns[i].GetComponentInChildren<Text>().color = new Color(255 / 255.0f, 203 / 255.0f, 79 / 255.0f, 170 / 255.0f);
|
|
|
|
if (i == 0)
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
Dictionary<string, DataItemModel> allProcess = AppManagement.Instance._AppModel.DataJDSBArray[EnumCtrl.GetEnumDescription(AppManagement.Instance._CurType)];
|
|
|
|
foreach (var item in allProcess)
|
|
{
|
|
|
|
_practiceAndExamCtrl.ShowProcessPart(item.Value);
|
|
}
|
|
|
|
|
|
}
|
|
if (i == 1)
|
|
{
|
|
WDebug.Log("×Ô¶¯½ÓÏß");
|
|
_practiceAndExamCtrl.AutoLineDir();
|
|
|
|
}
|
|
if (i == 2)
|
|
{
|
|
WDebug.Log("debugģʽ");
|
|
//_practiceAndExamCtrl.DebugCtrl();
|
|
|
|
}
|
|
if (i == 3)
|
|
{
|
|
_practiceAndExamCtrl.AutoGas();
|
|
|
|
|
|
}
|
|
}
|
|
else if (i == index)
|
|
{
|
|
_btns[i].GetComponentInChildren<Text>().color = new Color(255 / 255.0f, 203 / 255.0f, 79 / 255.0f, 255 / 255.0f);
|
|
}
|
|
}
|
|
switch (index)
|
|
{
|
|
case 0://×é×°
|
|
if (_practiceAndExamCtrl.speakManager != null) {
|
|
|
|
|
|
WDebug.Log("¸ü¸ÄÒôÀÖ=É豸×é×°£¡£¡£¡");
|
|
_practiceAndExamCtrl.speakManager.ReSetAudioCilp();
|
|
_practiceAndExamCtrl.speakManager.Init();
|
|
_practiceAndExamCtrl.speakManager.ChangeModelAudio("É豸×é×°");
|
|
}
|
|
|
|
break;
|
|
case 1://½ÓÏß
|
|
AppManagement.Instance.ChangeModel(EnumCtrl.Model.Line);
|
|
if (_practiceAndExamCtrl.speakManager != null) {
|
|
|
|
|
|
|
|
WDebug.Log("¸ü¸ÄÒôÀÖ=É豸½ÓÏߣ¡£¡£¡");
|
|
_practiceAndExamCtrl.speakManager.ReSetAudioCilp();
|
|
_practiceAndExamCtrl.speakManager.Init();
|
|
_practiceAndExamCtrl.speakManager.ChangeModelAudio("É豸½ÓÏß");
|
|
}
|
|
break;
|
|
case 2://µ÷ÊÔ
|
|
AppManagement.Instance.ChangeModel(EnumCtrl.Model.Debug);
|
|
|
|
|
|
_practiceAndExamCtrl.speakManager.ReSetAudioCilp();
|
|
_practiceAndExamCtrl.speakManager.Init();
|
|
_practiceAndExamCtrl.speakManager.ChangeModelAudio("³ÌÐòµ÷ÊÔ");
|
|
|
|
break;
|
|
case 3://³äÆø
|
|
AppManagement.Instance.ChangeModel(EnumCtrl.Model.Gas);
|
|
if (_practiceAndExamCtrl.speakManager != null)
|
|
{
|
|
|
|
|
|
WDebug.Log("¸ü¸ÄÒôÀÖ=Æø±Ã³äÆø£¡£¡£¡");
|
|
_practiceAndExamCtrl.speakManager.ReSetAudioCilp();
|
|
_practiceAndExamCtrl.speakManager.Init();
|
|
_practiceAndExamCtrl.speakManager.ChangeModelAudio("Æø±Ã³äÆø");
|
|
}
|
|
break;
|
|
case 4://ÔËÐÐ
|
|
|
|
AppManagement.Instance.ChangeModel(EnumCtrl.Model.Running);
|
|
if (_practiceAndExamCtrl.speakManager != null)
|
|
{
|
|
WDebug.Log("¸ü¸ÄÒôÀÖ=É豸ÔËÐУ¡£¡£¡");
|
|
_practiceAndExamCtrl.speakManager.ReSetAudioCilp();
|
|
_practiceAndExamCtrl.speakManager.Init();
|
|
_practiceAndExamCtrl.speakManager.Init();
|
|
_practiceAndExamCtrl.speakManager.ChangeModelAudio("É豸ÔËÐÐ");
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void SetBtnStyle(int index)
|
|
{
|
|
for (int i = 0; i < _btns.Length; i++)
|
|
{
|
|
_btns[i].GetComponent<Image>().sprite = _normalImg;
|
|
|
|
_btns[i].GetComponent<Image>().color = Color.white;
|
|
_btns[i].GetComponent<Button>().interactable = true;
|
|
_btns[i].GetComponentInChildren<Text>().color = new Color(200 / 255.0f, 200 / 255.0f, 200 / 255.0f, 1);
|
|
}
|
|
if (UI_Manage.Instance.GetPanel("PracticeAndExamPanel"))
|
|
{
|
|
_practiceAndExamCtrl = UI_Manage.Instance.GetPanel("PracticeAndExamPanel").GetComponent<PracticeAndExamPanel>()._CurTrainExamSceneCtrl;
|
|
}
|
|
for (int i = 0; i < _btns.Length; i++)
|
|
{
|
|
if (i < index)
|
|
{
|
|
SpriteState spriteState = _btns[i].GetComponent<Button>().spriteState;
|
|
Sprite pressedSprite = spriteState.pressedSprite;
|
|
_btns[i].GetComponent<Image>().sprite = pressedSprite;
|
|
|
|
_btns[i].GetComponent<Image>().color = new Color(170 / 255.0f, 170 / 255.0f, 170 / 255.0f, 170 / 255.0f);
|
|
_btns[i].GetComponent<Button>().interactable = false;
|
|
_btns[i].GetComponentInChildren<Text>().color = new Color(255 / 255.0f, 203 / 255.0f, 79 / 255.0f, 170 / 255.0f);
|
|
}
|
|
else if (i == index)
|
|
{
|
|
SpriteState spriteState = _btns[i].GetComponent<Button>().spriteState;
|
|
Sprite pressedSprite = spriteState.pressedSprite;
|
|
_btns[i].GetComponent<Image>().sprite = pressedSprite;
|
|
|
|
_btns[i].GetComponentInChildren<Text>().color = new Color(255 / 255.0f, 203 / 255.0f, 79 / 255.0f, 255 / 255.0f);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|