public void RefreshItem(int bagType, Item _item) { X_GUID _tempData = new X_GUID(); _tempData.GUID_value = _item.key; BaseItem pData = FindItem(bagType, _tempData); if (pData != null) { pData.SetItemTableID(_item.id); pData.SetItemCount(_item.number); /*pData.SetItemTimesCount(_item.timer);*/ RefreshItemTimesCount(bagType, _item.id, _item.timer); if (pData.GetItemType() == (int)EM_ITEM_TYPE.EM_ITEM_TYPE_RUNE) { ItemEquip equip = pData as ItemEquip; EquipItemData Itemdata = new EquipItemData(); Itemdata.unmarshal(OctetsStream.wrap(_item.extdata)); equip.InitRuneData(Itemdata); } } else { AddItem(bagType, _item); m_NewGetItems.Add(_tempData); } _tempData = null; }
public void AddItem(int bagType, Item _item) { BaseItem item = CreateItem(_item.id); if (item != null) { item.SetItemTableID(_item.id); item.SetItemGuid(_item.key); item.SetItemCount(_item.number); item.SetItemTimesCount(_item.timer); if (m_ItemMapList.ContainsKey(bagType)) { m_ItemMapList[bagType].Add(item); //LogManager.Log("New Item Add:" + _item.id); if (item.GetItemType() == (int)EM_ITEM_TYPE.EM_ITEM_TYPE_RUNE) { ItemEquip equip = item as ItemEquip; equip.ResetEquipState(); EquipItemData Itemdata = new EquipItemData(); Itemdata.unmarshal(OctetsStream.wrap(_item.extdata)); equip.InitRuneData(Itemdata); } } else { LogManager.LogError(false); LogManager.LogToFile("Error:Try AddItem,But Nonexistent BagType Key" + bagType); } } }