60 lines
1.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |