CultivationOfBrewing-2/Assets/Scripts/Project/Manager/ToolAndmaterialMgr.cs

67 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
/// <summary>
/// 正在使用的工具/材料管理类
/// </summary>
public class ToolAndmaterialMgr : BaseManager<ToolAndmaterialMgr>
{
//该系统所需要使用的全部工器具和材料
public List<D_ToolAndMaterialData> toolAndMaterialList = new List<D_ToolAndMaterialData>();
private ToolAndmaterialMgr()
{
}
public void Init(string toolOrMaterilOrDevice)
{
toolAndMaterialList = GameManager.DataMgr.GetCurrentSystemToolAndMaterials(toolOrMaterilOrDevice);
}
/// <summary>
/// 获取指定工具
/// </summary>
/// <param name="objName"></param>
/// <returns></returns>
public D_ToolAndMaterialData GetToolOrMaterialOrDeviceInfoByObjName(string objName)
{
for (int i = 0; i < toolAndMaterialList.Count; i++)
{
if (toolAndMaterialList[i].objName == objName)
return toolAndMaterialList[i];
}
return null;
}
/// <summary>
/// 生成iteminfo (在其他场景调用)
/// </summary>
/// <param name="objName"></param>
/// <returns></returns>
public List<ItemInfo> CreateItemInfoByName(List<string> objNamelist)
{
List<ItemInfo> infos = new List<ItemInfo>();
objNamelist.ForEach(objName =>
{
D_ToolAndMaterialData dTMD = GetToolOrMaterialOrDeviceInfoByObjName(objName);
ItemInfo itemInfo = new ItemInfo();
if (dTMD != null)
{
itemInfo.toolId = dTMD.id;
itemInfo.triggerID = dTMD.id;
itemInfo.toolName = dTMD.objName;
itemInfo.toolOrDeviceOrMaterial = (E_ToolOrDeviceOrMaterials)dTMD.type;
itemInfo.objPrefab = Resources.Load<GameObject>("Prefabs/Objects/Tools/" + objName);
infos.Add(itemInfo);
}
});
return infos;
}
}