88 lines
3.2 KiB
C#
88 lines
3.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using ZXK.UTility;
|
|
/*******************************************************************************
|
|
*Create By CG
|
|
*Function 一级工序ui按钮控制相关
|
|
*******************************************************************************/
|
|
namespace ZXK.ZPS
|
|
{
|
|
public class UIFirstItemCtrl : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private Text _nameTxt = null;
|
|
[SerializeField]
|
|
private GameObject _arrayImg = null;//一级工序到二级工序箭头
|
|
private Dictionary<string, DataItemModel> _secondDic = new Dictionary<string, DataItemModel>();
|
|
private UISecondPanelCtrl _secondPanelCtrl = null;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 初始化一级工序按钮
|
|
/// </summary>
|
|
/// <param name="firstName">一级工序名字</param>
|
|
/// <param name="secondDic">此一级工序对应的所有二级工序数据</param>
|
|
/// <param name="secondPanelCtrl">二级工序面板</param>
|
|
public void InitFirstItem(string firstName, Dictionary<string, DataItemModel> secondDic, UISecondPanelCtrl secondPanelCtrl)
|
|
{
|
|
transform.name = _nameTxt.text = firstName.Trim();
|
|
_secondDic = secondDic;
|
|
_secondPanelCtrl = secondPanelCtrl;
|
|
|
|
GetComponent<Toggle>().onValueChanged.AddListener((isOn) =>
|
|
{
|
|
OnClickHandle(isOn);
|
|
|
|
UIToolPanelCtrl._Instance.switchstep();
|
|
});
|
|
}
|
|
/// <summary>
|
|
/// 动态调用一级工序显示
|
|
/// </summary>
|
|
public void SetToggerShow()
|
|
{
|
|
GetComponent<Toggle>().isOn = true;
|
|
}
|
|
/// <summary>
|
|
/// 点击一级工序Toggle
|
|
/// </summary>
|
|
/// <param name="isOn"></param>
|
|
private void OnClickHandle(bool isOn)
|
|
{
|
|
_arrayImg.SetActive(isOn);
|
|
if (isOn)
|
|
{
|
|
GameRoot.Instance._CurFirstProcess = transform.name;
|
|
if (GameRoot.Instance._CurModel == EnumCtrl.Model.Train)
|
|
{//实训模式下,下一个工序就是此一级工序的第一个工序
|
|
GameRoot.Instance._NextSecondProcess = _secondDic.First().Key;
|
|
//PopUpMng.PopAlert($"{transform.name}实训", 100);
|
|
PopUpMng.PopAlert($"请点击{GameRoot.Instance._CurFirstProcess}-{GameRoot.Instance._NextSecondProcess},开始训练", 100);
|
|
}
|
|
if (transform.position.y < 400)
|
|
{
|
|
_secondPanelCtrl.transform.position = transform.position + new Vector3(100, 300, 0);
|
|
}
|
|
else
|
|
{
|
|
_secondPanelCtrl.transform.position = transform.position + new Vector3(100, 0, 0);
|
|
}
|
|
_secondPanelCtrl.ShowSecondPanel(_secondDic);
|
|
_secondPanelCtrl.gameObject.SetActive(true);
|
|
}
|
|
else
|
|
{
|
|
GameRoot.Instance._CurFirstProcess = null;
|
|
GameRoot.Instance._CurSecondProcess = null;
|
|
GameRoot.Instance._TrainMng?.CloseProcess();
|
|
_secondPanelCtrl.HideSecondPanel();
|
|
}
|
|
}
|
|
}
|
|
} |