/// <summary> /// 获得物品的使用次数,如果找不到此物品,返回-1; /// /// 现在客户端写的有问题吧; /// </summary> /// <param name="type"></param> /// <param name="nTableId"></param> /// <returns></returns> public int GetItemUseTimes(EM_BAG_HASHTABLE_TYPE type, int nTableId) { BaseItem bi = FindItem(type, nTableId); if (bi == null) { return(-1); } return(bi.GetItemTimesCount()); }
public List <BaseItem> GetItemList(EM_BAG_HASHTABLE_TYPE bagType) { if (m_ItemMapList.ContainsKey((int)bagType) == false) { LogManager.LogError(false); LogManager.LogToFile("not has bagType Key of GetItemList()"); return(null); } return(m_ItemMapList[(int)bagType]); }
/// <summary> /// 根据资源id获取人物身上物品数量, /// 材料 /// 消耗品; /// </summary> /// <returns></returns> public int GetItemCountById(EM_BAG_HASHTABLE_TYPE bagType, int id) { List <BaseItem> items = new List <BaseItem>(); int result = 0; switch (bagType) { case EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_COMMON: items = m_ItemMapList[(int)EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_COMMON]; if (items == null || items.Count == 0) { return(0); } foreach (BaseItem bi in items) { if (bi == null) { continue; } if (bi.GetItemTableID() == id) { result++; } } return(result); case EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_EQUIP: items = m_ItemMapList[(int)EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_EQUIP]; if (items == null || items.Count == 0) { return(0); } foreach (BaseItem bi in items) { if (bi == null) { continue; } if (bi.GetItemTableID() == id) { result++; } } return(result); } return(-1); }
/// <summary> /// 设置某种类型物品为已读状态 /// </summary> /// <param name="type">物品类型</param> public void SetNewItemPreviw(EM_BAG_HASHTABLE_TYPE type) { List <X_GUID> delGUIDs = new List <X_GUID>(); foreach (X_GUID item in m_NewGetItems) { if (FindItem(type, item) != null) { delGUIDs.Add(item); } } foreach (X_GUID item in delGUIDs) { m_NewGetItems.Remove(item); } }
public BaseItem FindItem(EM_BAG_HASHTABLE_TYPE type, int nTableId) { int bagType = (int)type; if (m_ItemMapList.ContainsKey(bagType) == false) { LogManager.LogToFile("not has bagType Key of FindItem()"); return(null); } for (int i = 0; i < m_ItemMapList[bagType].Count; ++i) { if (m_ItemMapList[bagType][i].GetItemTableID().Equals(nTableId)) { return(m_ItemMapList[bagType][i]); } } return(null); }
public BaseItem FindItem(EM_BAG_HASHTABLE_TYPE type, X_GUID guid) { return(FindItem((int)type, guid)); }