YanCheng_Metrology/Assets/Scripts/Project/Manager/PacksackBagMgr.cs

60 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 负责工具材料包管理
/// </summary>
public class PacksackBagMgr : BaseManager<PacksackBagMgr>
{
//包里用了哪些工器具
private readonly Dictionary<string, ToolAndMaterialData> toolAndMaterialDic =
new Dictionary<string, ToolAndMaterialData>();
private PacksackBagMgr()
{
}
public Dictionary<string, ToolAndMaterialData> GetCurrentBagData()
{
return toolAndMaterialDic;
}
/// <summary>
/// 添加一个工器具或材料
/// </summary>
/// <param name="name"></param>
public void AddOneToolOrMater(string name)
{
if (toolAndMaterialDic.ContainsKey(name))
{
toolAndMaterialDic[name].count++;
}
else
{
//从配置里得知是tool or Material
var tempToolOrMaterType = GameManager.ToolAndmaterialMgr.GetObjType(name);
if (tempToolOrMaterType == -1) return;
var tempToolAndMaterData = new ToolAndMaterialData()
{ count = 1, objName = name, type = tempToolOrMaterType };
toolAndMaterialDic.Add(name, tempToolAndMaterData);
}
}
/// <summary>
/// 移除一个工器具或材料
/// </summary>
/// <param name="name"></param>
public void RemoveOneToolOrMater(string name)
{
if (toolAndMaterialDic.ContainsKey(name))
{
var toolAndMaterCount = toolAndMaterialDic[name].count--;
if (toolAndMaterCount <= 0)
{
toolAndMaterialDic.Remove(name);
}
}
}
}