98 lines
3.6 KiB
C#
98 lines
3.6 KiB
C#
using CG.Framework;
|
|
using CG.UTility;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
/*******************************************************************************
|
|
*Create By CG
|
|
*Function 操作步骤栏控制 安装部署
|
|
*******************************************************************************/
|
|
namespace ZXK.GYJQR
|
|
{
|
|
public class OperationStepAZBSPanel : OperationStepPanel
|
|
{
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
GameManager.Instance._DataAZBSHandler.CurAZBShandler.OnValueChanged += OnCountChanged;
|
|
AddEventListener("ShrinkBtn_N", UIEventType.OnButtonClick, Shrink);
|
|
AddEventListener("ExtBtn_N", UIEventType.OnButtonClick, Extend);
|
|
}
|
|
/// <summary>
|
|
/// 实例化数据到流程栏
|
|
/// </summary>
|
|
/// <param name="partsInfo"></param>
|
|
public void InitData(List<AZBS> partsInfo, AZBS selectItem)
|
|
{
|
|
List<string[]> parts = new List<string[]>();
|
|
for (int i = 0; i < partsInfo.Count; i++)
|
|
{
|
|
parts.Add(new string[] { partsInfo[i].id.ToString(), partsInfo[i].stepName, partsInfo[i].stepNameChild });
|
|
}
|
|
|
|
List<GameObject> stepchildrenBtns = InitStepDataUI(parts);
|
|
|
|
for (int i = 0; i < stepchildrenBtns.Count; i++)
|
|
{
|
|
GameObject btn = stepchildrenBtns[i];
|
|
btn.GetComponent<Button>().onClick.AddListener(() =>
|
|
{
|
|
foreach (AZBS item in GameManager.Instance._DataAZBSHandler.AZBSDataArray)
|
|
{
|
|
if (item.stepName.Equals(btn.name))
|
|
{
|
|
StepManager.Instance.OnSwitchInit(
|
|
GameManager.Instance._DataAZBSHandler.CurAZBShandler.Value
|
|
, item);
|
|
GameManager.Instance._DataAZBSHandler.CurAZBShandler.Value = item;
|
|
StepManager.Instance.OnExcuteAZBS(ExcuteState.Excute);
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
GameManager.Instance._DataAZBSHandler.CurAZBShandler.Value = selectItem;
|
|
StepManager.Instance.OnExcuteAZBS(ExcuteState.Excute);
|
|
}
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
GameManager.Instance._DataAZBSHandler.CurAZBShandler.OnValueChanged -= OnCountChanged;
|
|
GameManager.Instance._DataAZBSHandler.CurAZBShandler.Value = new AZBS();
|
|
}
|
|
/// <summary>
|
|
/// 收回步骤流程面板
|
|
/// </summary>
|
|
private void Shrink()
|
|
{
|
|
ShrinkPanel(GameManager.Instance._DataAZBSHandler.CurAZBShandler.Value.stepNameChild);
|
|
}
|
|
/// <summary>
|
|
/// 伸展步骤流程面板
|
|
/// </summary>
|
|
private void Extend()
|
|
{
|
|
Extpanel();
|
|
}
|
|
|
|
private void OnCountChanged(AZBS obj)
|
|
{
|
|
StepManager.Instance.OnReset();
|
|
ItemChanged(obj.stepName);
|
|
GameObject focusGeo = GetWedage("FocusStep_N");
|
|
focusGeo.transform.Find("Stepdetail").GetComponent<Text>().text = GameManager.Instance._DataAZBSHandler.CurAZBShandler.Value.stepNameChild;
|
|
}
|
|
/// <summary>
|
|
/// 显示其他部件
|
|
/// </summary>
|
|
public void ShowPartsWithName(GameObject obj)
|
|
{
|
|
List<GameObject> parts = ModelManager.Instance.azbsParts;
|
|
foreach (var item in parts)
|
|
{
|
|
item.SetActive(true);
|
|
}
|
|
}
|
|
}
|
|
} |