Ejemplo n.º 1
0
 public void HasBeenCollected()
 {
     OnItemCollected?.Invoke(this, new SpawnerEventArgs()
     {
         Position = transform
     });
 }
Ejemplo n.º 2
0
    public virtual int GiveItem(ItemStack stack)
    {
        Item.Type itemType       = stack.ItemType;
        int       amount         = stack.Amount;
        Storage   inv            = GetAppropriateInventory(itemType);
        int       remainingItems = inv.AddItem(itemType, amount);
        int       difference     = amount - remainingItems;

        if (difference != 0)
        {
            OnItemCollected?.Invoke(itemType, difference);
        }
        return(remainingItems);
    }
Ejemplo n.º 3
0
        public void OnCollectItem(int itemID)
        {
            if (!_itemCollectedCount.ContainsKey(itemID))
            {
                _itemCollectedCount.Add(itemID, 1);
            }
            else
            {
                _itemCollectedCount[itemID]++;
            }

            OnItemCollected?.Invoke(itemID);
            CheckItems();
        }
Ejemplo n.º 4
0
    public virtual int GiveItem(Item.Type itemType)
    {
        Storage inv            = GetAppropriateInventory(itemType);
        int     remainingItems = inv.AddItem(itemType);

        if (remainingItems == 0)
        {
            OnItemCollected?.Invoke(itemType, 1);
        }
        else
        {
            Debug.Log($"{remainingItems} {itemType} not added");
        }
        return(remainingItems);
    }
Ejemplo n.º 5
0
 public static void RaiseOnItemCollected()
 {
     OnItemCollected?.Invoke();
 }