Пример #1
0
    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;
    }
Пример #2
0
    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);
            }
        }
    }