using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UI_ToolAndMaterialPanel : BasePanel { private Dictionary<string, List<ItemInfo>> bagDatas; public RectTransform _content; /// <summary> ///prefab /// </summary> public UI_ToolOrMaterialsOrDeviceItem ui_TmdItem; public override void ShowMe() { if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) GetControl<Button>("closeBtn").interactable = false; CreatItem(E_ToolOrDeviceOrMaterials.Tool); //默认打开显示工器具 } private void CreatItem(E_ToolOrDeviceOrMaterials tmdTpye) { if (_content.transform.childCount > 0) { for (int i = 0; i < _content.transform.childCount; i++) { Destroy(_content.transform.GetChild(i).gameObject); } } bagDatas = GameManager.PacksackBagMgr.GetItemsByE_TMDType(tmdTpye); var wearInfo = PacksackBagMgr.Instance.wearDic; foreach (var item in bagDatas.Keys) { if (!wearInfo.ContainsKey(item)) { UI_ToolOrMaterialsOrDeviceItem uiTMDitem = Instantiate(ui_TmdItem, _content); uiTMDitem.Init(bagDatas[item]); } } if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, GameManager.ProcessMgr.subProcessStepTriggerID); } protected override void OnChangeToggle(string toogleName, bool isOn) { base.OnChangeToggle(toogleName, isOn); switch (toogleName) { case "toolTog": CreatItem(E_ToolOrDeviceOrMaterials.Tool); break; case "deviceTog": CreatItem(E_ToolOrDeviceOrMaterials.Device); break; case "materialsTog": CreatItem(E_ToolOrDeviceOrMaterials.Materials); break; default: break; } } protected override void OnClick(string btnName) { switch (btnName) { case "closeBtn": GameManager.UIMgr.HidePanel<UI_ToolAndMaterialPanel>(); break; default: break; } } }