72 lines
2.8 KiB
C#

using CG.Framework;
using CG.UTility;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
/*******************************************************************************
*Create By CG
*Function 部件拆装考核模式UI
*******************************************************************************/
namespace ZXK.GYJQR
{
public class BJCZExamPanel : UIBase
{
private Transform _erroTipTran = null;
private Text _tipText = null;
protected override void Awake()
{
base.Awake();
_tipText = GetWedage("TipText_N").GetComponent<Text>();
_erroTipTran = GetWedage("ErroTip_N").transform;
//顶部设置
UI_Manage.Instance.ShowPanel("OperationTopPanel", Type.GetType("ZXK.GYJQR.OperationTopPanel"), UIGroup.Top);
StartCoroutine("LoadFirst");
}
private void OnEnable()
{
GameManager.Instance._DataBJCJHandler._CurDismountStephandler.OnValueChanged += OnDismountStepChanged;
}
private void OnDisable()
{
GameManager.Instance._DataBJCJHandler._CurDismountStephandler.OnValueChanged -= OnDismountStepChanged;
}
private IEnumerator LoadFirst()
{
yield return new WaitForSeconds(0.02f);
GameManager.Instance._DataBJCJHandler._ShowPartsName.Value = ConstCtrl.BJCZ_MAINMODEL1_NAME;
GameManager.Instance._DataBJCJHandler._CurState.Value = (int)EnumCtrl.BJCZState.SXCJ;
BJCZSceneCtrl._Instance.ModelAndStateChanged();
BJCJ_SXCJ sxcjStepInfo = GameManager.Instance._DataBJCJHandler._SXCJDataArray[ConstCtrl.BJCZ_MAINMODEL1_NAME][0];
GameManager.Instance._DataBJCJHandler._CurDismountStephandler.SetValue(ConstCtrl.BJCZ_MAINMODEL1_NAME, sxcjStepInfo);
Camera.main.GetComponent<CameraAroundCtrl>()._STRForbid = false;
}
private void OnDismountStepChanged(Dictionary<string, BJCJ_SXCJ> obj)
{
string curShowGeo = GameManager.Instance._DataBJCJHandler._ShowPartsName.Value;
_tipText.text = obj[curShowGeo].stepName;
}
/// <summary>
/// 考核模式操作错误提示
/// </summary>
/// <param name="tipTxt">提示内容</param>
/// <param name="showTime">停留时间</param>
public void ErroTipShow(string tipTxt)
{
_erroTipTran.Find("ErroTipText").GetComponent<Text>().text = tipTxt;
_erroTipTran.gameObject.SetActive(true);
StartCoroutine("HideTip", 1);
}
private IEnumerator HideTip(float time)
{
yield return new WaitForSeconds(time);
_erroTipTran.gameObject.SetActive(false);
}
}
}