Exemple #1
0
    public void ReceiveItem(GameObject itemToReceiveGO, int amount = 1)
    {
        Item itemToReceive = itemToReceiveGO.GetComponent <Item>();

        switch (itemToReceive.type)
        {
        case ItemType.CommonKey:
            commonKeys += amount;
            break;

        case ItemType.UncommonKey:
            uncommonKeys += amount;
            break;

        case ItemType.BossKey:
            bossKeys += amount;
            break;

        case ItemType.Heart:
            Player player = GetComponent <Player>();
            player.Heal(amount);
            break;

        case ItemType.Money:
            money += amount;
            MoneyChanged?.Invoke();
            break;

        case ItemType.Bomb:
            break;

        case ItemType.Stick:
            break;

        case ItemType.Arrow:
            currentAmmo += amount;
            AmmoChanged?.Invoke();
            break;

        case ItemType.MagicBottle:
            MagicChanged?.Invoke();
            break;

        case ItemType.HeartContainer:
            GetComponent <Player>().maxHealth += amount;
            HeartAmountChanged?.Invoke();
            break;

        default:
            break;
        }
        if (itemToReceive.pickupSound != null)
        {
            SoundsManager.instance.GetComponent <AudioSource>().PlayOneShot(itemToReceive.pickupSound);
        }
    }
Exemple #2
0
    public void RemoveItem(ItemType itemToRemove, int amount = 1)
    {
        switch (itemToRemove)
        {
        case ItemType.CommonKey:
            commonKeys -= amount;
            break;

        case ItemType.UncommonKey:
            uncommonKeys -= amount;
            break;

        case ItemType.BossKey:
            bossKeys -= amount;
            break;

        case ItemType.Heart:
            break;

        case ItemType.Money:
            money -= amount;
            MoneyChanged?.Invoke();
            break;

        case ItemType.Bomb:
            break;

        case ItemType.Stick:
            break;

        case ItemType.Arrow:
            currentAmmo -= amount;
            AmmoChanged?.Invoke();
            break;

        case ItemType.HeartContainer:
            break;

        default:
            break;
        }
    }
Exemple #3
0
 private void AdjustAmmo(int count)
 {
     _ammo += count;
     AmmoChanged?.Invoke(_ammo);
 }