using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 负责工具材料包管理
///
public class PacksackBagMgr : BaseManager
{
//包里用了哪些工器具
private readonly Dictionary> toolAndMaterialDic = new Dictionary>();
private PacksackBagMgr()
{
}
public Dictionary> GetCurrentBagData()
{
return toolAndMaterialDic;
}
///
/// 添加一个工器具或材料
///
///
public void AddOneToolOrMater(ItemInfo itemInfo)
{
if (toolAndMaterialDic.ContainsKey(itemInfo))
{
toolAndMaterialDic[itemInfo].Add(itemInfo);
}
else
{
toolAndMaterialDic.Add(itemInfo, new List() { itemInfo });
}
}
public Dictionary> GetItemsByE_TMDType(E_ToolOrDeviceOrMaterials tmdTpye)
{
Dictionary> tempNew = new Dictionary>();
var dicTemp = GetCurrentBagData();
foreach (var item in dicTemp.Keys)
{
if (item.toolOrDeviceOrMaterial == tmdTpye)
{
if (tempNew.ContainsKey(item))
{
tempNew[item].Add(item);
}
else
{
tempNew.Add(item, new List() { item });
}
}
}
return tempNew;
}
///
/// 移除一个工器具或材料
///
///
public bool RemoveOneToolOrMater(ItemInfo itemInfo,ref int count)
{
if (toolAndMaterialDic.ContainsKey(itemInfo))
{
if (toolAndMaterialDic[itemInfo].Count > 1)
{
toolAndMaterialDic[itemInfo].Remove(itemInfo);
count = toolAndMaterialDic[itemInfo].Count;
return true;
}
else
{
toolAndMaterialDic.Remove(itemInfo);
return false;
}
}
return false;
}
}