private void Fire() { var ammo = ammoStorage.GetAmmo(1); if (ammo == 0) { player.AudioSource.PlayOneShot(player.Settings.FireMissSFX); return; } player.AudioSource.PlayOneShot(player.Settings.FireSFX); var ray = new Ray( player.WeaponShootPoint.position, player.WeaponShootPoint.forward ); if (Physics.Raycast(ray, out RaycastHit hit, float.MaxValue)) { var damageable = hit.transform.GetComponent <IDamageable>(); if (damageable != null) { damageable.Damage(5f); player.ShootHit(hit.point); } } }
public uint GetAmmo(uint amount) => storage.GetAmmo(amount);