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); } }
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; } }
private void AdjustAmmo(int count) { _ammo += count; AmmoChanged?.Invoke(_ammo); }