/// <summary> /// Removes an item from the inventory. /// </summary> /// <param name="ItemID">The item id.</param> /// <returns>Returns true if the item was removed.</returns> public bool RemoveItem(uint ItemID) { byte pos = GetPositionFromItemID(ItemID); ItemInfo rItem; if (InventoryItems.TryRemove(pos, out rItem)) { Database.CharacterDatabase.SaveInventory(Owner, null, pos); RemoveItemFromClient(rItem); return(true); } return(false); }
/// <summary> /// Removes an item from the inventory based on is iteminfo. /// </summary> /// <param name="info">The item info.</param> /// <returns>Returns true if the item was removed.</returns> public bool RemoveItem(ItemInfo info) { foreach (byte key in InventoryItems.Keys) { ItemInfo ritem; if (InventoryItems.TryGetValue(key, out ritem)) { if (ritem.UID == info.UID) { if (InventoryItems.TryRemove(key, out ritem)) { Database.CharacterDatabase.SaveInventory(Owner, null, key); RemoveItemFromClient(ritem); return(true); } else { return(false); } } } } return(false); }