Exemple #1
0
 public static void DisplayConsumable(UIView view, ItemData.ConsumableRuntimeData consumableRuntimeData)
 {
     view.image.gameObject.SetActive(true);
     view.image.sprite = UIIconLoader.ConsumableIcons[(int)consumableRuntimeData.consumable];
     view.text.gameObject.SetActive(true);
     view.text.SetText(consumableRuntimeData.count.ToString());
 }
Exemple #2
0
        public void Pick(ItemData.ConsumableRuntimeData consumable)
        {
            int itemCount = this.consumableStock.Count;
            int itemToAdd = consumable.count;

            for (int i = 0; i < itemCount && itemToAdd <= 0; ++i)
            {
                if (this.consumableStock[i].consumable == consumable.consumable)
                {
                    // this.consumableStock[i] = new ItemData.ConsumableRuntimeData(consumable.consumable, this.consumableStock[i].count + consumable.count);
                    int tmp = Mathf.Min(_ConsumableMaxStack - this.consumableStock[i].count, itemToAdd);
                    this.consumableStock[i] = new ItemData.ConsumableRuntimeData(consumableStock[i].consumable, consumableStock[i].count + tmp);
                    itemToAdd -= tmp;
                }
            }
            if (itemToAdd > 0)
            {
                consumableStock.Add(new ItemData.ConsumableRuntimeData(consumable.consumable, itemToAdd));
            }
        }
Exemple #3
0
        public void UseConsumable(int index, int amount)
        {
            if (index < 0 || index >= consumableStock.Count || consumableStock[index].count < amount)
            {
                return;
            }

            Player player = GameObject.Find("Player").GetComponent <Player>();

            player.OnUseItem(consumableStock[index].consumable, amount);
            int remain = consumableStock[index].count - amount;

            if (remain <= 0)
            {
                consumableStock.RemoveAt(index);
            }
            else
            {
                consumableStock[index] = new ItemData.ConsumableRuntimeData(consumableStock[index].consumable, remain);
            }
        }
Exemple #4
0
 public void Pick(ItemData.ConsumableRuntimeData consumable)
 {
     consumableStock.Add(consumable);
 }