using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
///
/// 正在使用的工具/材料管理类
///
public class ToolAndmaterialMgr : BaseManager
{
//该系统所需要使用的全部工器具和材料
public List toolAndMaterialList = new List();
private ToolAndmaterialMgr()
{
}
public void Init(string toolOrMaterilOrDevice)
{
toolAndMaterialList = GameManager.DataMgr.GetCurrentSystemToolAndMaterials(toolOrMaterilOrDevice);
}
///
/// 获取指定工具
///
///
///
public D_ToolAndMaterialData GetToolOrMaterialOrDeviceInfoByObjName(string objName)
{
for (int i = 0; i < toolAndMaterialList.Count; i++)
{
if (toolAndMaterialList[i].objName == objName)
return toolAndMaterialList[i];
}
return null;
}
///
/// 获取场景中ItemInfo (仅在在工具间场景调用)
///
///
///
public List GetItemInfoByName(List objNamelist)
{
List tmps= new List();
objNamelist.ForEach(objName =>
{
Tool_SelectComponent tmp = GameObject.FindObjectsOfType().ToList().Find(a => a.gameObject.name == objName);
tmps.Add(tmp);
});
return tmps;
}
///
/// 生成iteminfo (在其他场景调用)
///
///
///
public List CreateItemInfoByName(List objNamelist)
{
List infos = new List();
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("Prefabs/Objects/Tools/" + objName);
//itemInfo.selfPosInToolRoom = transform.position;
infos.Add(itemInfo);
}
});
return infos;
}
}