Example #1
0
        public virtual bool Craft(ItemStorage i)
        {
            if (CanBeCrafted(i) && i.GetFreeSpace() >= Quantity)
            {
                i.Add(Result, Quantity);
                foreach (var c in Costs)
                {
                    i.Remove(c.Item, c.Count);
                }

                return(true);
            }

            return(false);
        }
Example #2
0
        public virtual bool Craft(ItemStorage materialStorage, ItemStorage destinationStorage)
        {
            if (CanBeCrafted(materialStorage) && destinationStorage.GetFreeSpace() >= Quantity)
            {
                destinationStorage.Add(Result, Quantity);
                foreach (var c in Costs)
                {
                    materialStorage.Remove(c.Item, c.Count);
                }

                return(true);
            }

            return(false);
        }
Example #3
0
 private void AddItemToStorage(int itemId, int amount, int maxAmountBonus, ItemStorage cis)
 {
     if (ItemDatabase.IsItemidValid(itemId))
     {
         Item item = ItemDatabase.ItemById(itemId);
         if (item != null)
         {
             if (!item.MatchType(Item.Types.Story))
             {
                 cis.Add(itemId, amount, maxAmountBonus);
             }
             else if (amount > 0)
             {
                 base.StartCoroutine(this.DelayedAddItem(itemId, amount));
             }
         }
         else
         {
             UnityEngine.Debug.LogError("Item not found while creating loot backpack id=" + itemId);
         }
     }
 }
Example #4
0
 private void AddItemToStorage(int itemId, int amount, ItemStorage cis, ItemProperties properties = null)
 {
     if (ItemDatabase.IsItemidValid(itemId))
     {
         Item item = ItemDatabase.ItemById(itemId);
         if (item != null)
         {
             if (!item.MatchType(Item.Types.Story))
             {
                 cis.Add(itemId, amount, properties);
                 this._addedItems = true;
             }
             else if (amount > 0)
             {
                 base.StartCoroutine(this.DelayedAddItem(itemId, amount));
             }
         }
         else
         {
             Debug.LogError("Item not found while creating loot backpack id=" + itemId);
         }
     }
 }