using CG.Framework; using DG.Tweening; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /******************************************************************************** *Create By CG *Function 操作步骤栏控制 顺序拆解显示 *********************************************************************************/ namespace ZXK.GYJQR { public class OperationStepBJCJPanel : OperationStepPanel { //允许点击的子步骤 private Dictionary> _stepchildrenBtns = new Dictionary>(); private void OnEnable() { GameManager.Instance._DataBJCJHandler._CurDismountStephandler.OnValueChanged += OnDismountStepChanged; AddEventListener("ShrinkBtn_N", UIEventType.OnButtonClick, Shrink); AddEventListener("ExtBtn_N", UIEventType.OnButtonClick, Extend); } private void OnDisable() { GameManager.Instance._DataBJCJHandler._CurDismountStephandler.OnValueChanged -= OnDismountStepChanged; } /// /// 实例化数据到流程栏 /// /// public void InitData(List partsInfo) { string curShowGeo = GameManager.Instance._DataBJCJHandler._ShowPartsName.Value; if(!_stepchildrenBtns.ContainsKey(curShowGeo)) { _stepchildrenBtns.Add(curShowGeo, new List()); } foreach (Transform item in _stepContent) { if (!item.gameObject.name.Contains("Prefab")) item.gameObject.SetActive(false); } if (_stepchildrenBtns[curShowGeo].Count==0) { List parts = new List(); for (int i = 0; i < partsInfo.Count; i++) { if (i > 0 && partsInfo[i].stepNameChild.Equals(partsInfo[i - 1].stepNameChild)) {//过滤掉子步骤相同的 continue; } parts.Add(new string[] { partsInfo[i].id.ToString(), partsInfo[i].stepName, partsInfo[i].stepNameChild }); } _stepchildrenBtns[curShowGeo] = InitStepSecondMenuDataUI(parts); for (int i = 0; i < _stepchildrenBtns[curShowGeo].Count; i++) { GameObject btn = _stepchildrenBtns[curShowGeo][i]; btn.GetComponent