using System; using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(AudioSource))] public class Shooting : MonoBehaviour { public GameObject raycast; public GameObject firePoint; //[SerializeField] private ParticleSystem projectilePrefab; public ParticleSystem projectilePrefab; private float hSliderValue = 0.1f; private float _fireCountdown = 0.1f; public GameObject gun; public AudioSource audioSource; private void Update() { HandleMouseButton(); } private void HandleMouseButton() { if (Input.GetMouseButton(0) && _fireCountdown <= 0f) { _fireCountdown = 0; _fireCountdown += hSliderValue; PlayerShoot(); } _fireCountdown -= Time.deltaTime; } private void PlayerShoot() { audioSource.Play(); Instantiate(projectilePrefab, firePoint.transform.position, firePoint.transform.rotation); if (Physics.Raycast(raycast.transform.position, raycast.transform.forward, out var hit, SettingsReader.Instance.GetSettings.ViewDistance)) { if (hit.transform.TryGetComponent(out var target)) { target.GetDamage(SettingsReader.Instance.GetSettings.RifleDamage); } } } public void Shoot() { if (Physics.Raycast(raycast.transform.position, raycast.transform.forward, out var hit, SettingsReader.Instance.GetSettings.ViewDistance)) { if (hit.transform.TryGetComponent(out var target)) { Instantiate(projectilePrefab, firePoint.transform.position, firePoint.transform.rotation); target.GetDamage(SettingsReader.Instance.GetSettings.RifleDamage); } } } }