Exemple #1
0
        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);