using System.Collections; using System.Collections.Generic; using UnityEngine; /******************************************************************************* *Create By CG *Function 在UI中的二级工序面板预制体 *******************************************************************************/ namespace ZXK.ZPS { public class UISecondPanelCtrl : MonoBehaviour { [SerializeField]//选中后content private Transform _secondContent = null; [SerializeField]//备选区content private Transform _secondSelectContent = null; [SerializeField] private GameObject _secondItemPrefab = null; /// /// 实例化二级面板 /// /// 一级工序对应的所有二级工序 public void ShowSecondPanel(Dictionary secondDic) { if (GameRoot.Instance._CurModel == UTility.EnumCtrl.Model.Train) { foreach (DataItemModel item in secondDic.Values) { GameObject secondItem = Instantiate(_secondItemPrefab, _secondSelectContent); UISecondItemCtrl secondCtrl = secondItem.GetComponent(); secondCtrl.InitItem(item, _secondContent, _secondSelectContent); } } else if(GameRoot.Instance._CurModel == UTility.EnumCtrl.Model.Exam) { List secondNameTemp = new List(); foreach (string secondName in secondDic.Keys) { secondNameTemp.Add(secondName); } while (secondNameTemp.Count > 0) { int index = Random.Range(0, secondNameTemp.Count); DataItemModel item = secondDic[secondNameTemp[index]]; GameObject secondItem = Instantiate(_secondItemPrefab, _secondSelectContent); UISecondItemCtrl secondCtrl = secondItem.GetComponent(); secondCtrl.InitItem(item, _secondContent, _secondSelectContent); secondNameTemp.RemoveAt(index); } } } public void HideSecondPanel() { foreach (Transform item in _secondSelectContent) { Destroy(item.gameObject); } foreach (Transform item in _secondContent) { Destroy(item.gameObject); } gameObject.SetActive(false); } public void SetNextSecondProcess() { foreach (Transform item in _secondSelectContent) { if (item.name.Equals(GameRoot.Instance._NextSecondProcess)) { item.GetComponent().SetLight(); } } } /// /// 获取选中的二级工序顺序 /// public List GetItemOrder() { List temp = new List(); foreach (Transform item in _secondContent) { temp.Add(item.name); } return temp; } } }