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;
        }
    }
}