Пример #1
0
        /// <summary>
        /// Gets an item from the warehouse by its id.
        /// </summary>
        /// <param name="ItemID">The item id.</param>
        /// <returns>Returns the item. [null if failed]</returns>
        public ItemInfo GetItemByID(uint ItemID)
        {
            byte pos = GetPositionFromItemID(ItemID);

            ItemInfo rItem;

            if (WarehouseItems.TryGetValue(pos, out rItem))
            {
                return(rItem);
            }
            return(null);
        }
Пример #2
0
 /// <summary>
 /// Gets an item position from an item uid.
 /// </summary>
 /// <param name="ItemID">The item id.</param>
 /// <returns>Returns the item uid.</returns>
 public byte GetPositionFromItemUID(uint ItemUID)
 {
     foreach (byte key in WarehouseItems.Keys)
     {
         ItemInfo finditem;
         if (WarehouseItems.TryGetValue(key, out finditem))
         {
             if (finditem.UID == ItemUID)
             {
                 return(key);
             }
         }
     }
     return(20);
 }
Пример #3
0
        /// <summary>
        /// Gets an uid from an item id.
        /// </summary>
        /// <param name="ItemID">The item id.</param>
        /// <param name="TotalAmounts">[out] The total amount of items contained with the id.</param>
        /// <returns>Returns the item uid.</returns>
        public uint GetUIDFromItemID(uint ItemID, out byte TotalAmounts)
        {
            uint find = 0;

            TotalAmounts = 0;
            foreach (byte key in WarehouseItems.Keys)
            {
                ItemInfo finditem;
                if (WarehouseItems.TryGetValue(key, out finditem))
                {
                    if (finditem.ItemID == ItemID)
                    {
                        if (TotalAmounts == 0)
                        {
                            find = finditem.UID;
                        }
                        TotalAmounts++;
                    }
                }
            }
            return(find);
        }
Пример #4
0
 /// <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);
 }