/// <summary> /// Removes an item from the warehouse by its uid. /// </summary> /// <param name="ItemUID">The item uid.</param> /// <returns>Returns the removed item. [null if failed]</returns> public ItemInfo RemoveItemByUID(uint ItemUID) { byte pos = GetPositionFromItemUID(ItemUID); ItemInfo rItem; if (WarehouseItems.TryRemove(pos, out rItem)) { Database.CharacterDatabase.SaveWarehouse(Owner, null, pos, WhID); //SendAll(); return(rItem); } return(null); }
/// <summary> /// Removes an item from the warehouse 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 WarehouseItems.Keys) { ItemInfo ritem; if (WarehouseItems.TryGetValue(key, out ritem)) { if (ritem.UID == info.UID) { if (WarehouseItems.TryRemove(key, out ritem)) { Database.CharacterDatabase.SaveWarehouse(Owner, null, key, WhID); //SendAll(); return(true); } else { return(false); } } } } return(false); }