YanCheng_Metrology/Assets/Scripts/Project/UI/UI_Panel/UI_ToolAndMaterialPanel.cs

78 lines
2.2 KiB
C#

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UI_ToolAndMaterialPanel : BasePanel
{
private Dictionary<string, List<ItemInfo>> bagDatas;
public RectTransform _content;
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]);
}
}
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;
}
}
}