コード例 #1
0
    public void AddItem(Item item)
    {
        if (item is CannedFood || item is Ammo)
        {
            item.Use();
            return;
        }

        if (m_items.Contains(item))
        {
            if (item is Consumable)
            {
                (m_items[m_items.IndexOf(item)] as Consumable).amount += (item as Consumable).amount;
            }
            else
            {
                return;
            }
        }
        else
        {
            m_items.Add(item);
        }
        ITEMS?.Invoke(m_items);
    }
コード例 #2
0
 public void UseItem(Item item)
 {
     if (m_items.Contains(item))
     {
         item.Use();
     }
     ITEMS?.Invoke(m_items);
 }
コード例 #3
0
    public void DropItem(Consumable item, int amount)
    {
        var consumable = (m_items[m_items.IndexOf(item)] as Consumable);

        consumable.amount -= amount;
        if (consumable.amount <= 0)
        {
            m_items.Remove(consumable);
        }
        else
        {
            m_items[m_items.IndexOf(consumable)] = consumable;
        }
        ITEMS?.Invoke(m_items);
    }