private void Reload() { int needed = maxAmmo - inventory.ItemCount(); if (needed == 0 || wielder == null) { return; } IHasAmmo ammoHolder = wielder as IHasAmmo; if (ammoHolder == null) { return; } if (ammoHolder.CheckAmmo(ammoType, 1) == 0) { return; } speaker.PlayEffect(Sound.Effects.RifleReload); List <ItemData> receivedAmmo = ammoHolder.RequestAmmo(ammoType, needed); foreach (ItemData ammo in receivedAmmo) { inventory.StoreItemData(ammo); } }
private void Reload() { List <ItemData> receivedAmmo = new List <ItemData>(); if (!ReloadNeeded()) { return; } IHasAmmo ammoHolder = wielder as IHasAmmo; if (ammoHolder != null) { receivedAmmo = ammoHolder.RequestAmmo(ammoType, ReloadAmmoNeeded()); } if (receivedAmmo.Count == 0) { receivedAmmo = RequestReserveAmmo(ReloadAmmoNeeded()); } if (receivedAmmo.Count == 0) { return; } foreach (ItemData ammo in receivedAmmo) { inventory.StoreItemData(ammo); } }
private void Reload() { int needed = maxAmmo - ammo; if (needed == 0 || wielder == null) { return; } IHasAmmo ammoHolder = wielder as IHasAmmo; if (ammoHolder == null) { return; } if (ammoHolder.CheckAmmo(ammoType, 1) == 0) { return; } speaker.PlayEffect(Sound.Effects.RifleReload); int receivedAmmo = ammoHolder.RequestAmmo(ammoType, needed); StoreAmmo(ammoType, receivedAmmo); }
public override void Equip(object wielder) { ItemBaseEquip(wielder); IHasAmmo ammoHolder = wielder as IHasAmmo; if (ammoHolder != null) { List <ItemData> newAmmo = ammoHolder.RequestAmmo(ammoType, maxAmmo); foreach (ItemData ammo in newAmmo) { inventory.StoreItemData(ammo); } } }