80 lines
2.3 KiB
C#
80 lines
2.3 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;
|
|
if (GameManager.RunModelMgr.SceneType != E_SceneType.ToolRoom)
|
|
GetControl<Button>("closeBtn").gameObject.SetActive(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;
|
|
}
|
|
}
|
|
} |