using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Shooting : MonoBehaviour { public GameObject raycast; public GameObject firePoint; [SerializeField] private GameObject projectilePrefab; private float hSliderValue = 0.1f; private float _fireCountdown = 1f; public GameObject gun; private void Update() { HandleMouseButton(); } private void HandleMouseButton() { if (Input.GetMouseButton(0) && _fireCountdown <= 0f) { _fireCountdown = 0; _fireCountdown += hSliderValue; Shoot(); } _fireCountdown -= Time.deltaTime; } 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); } } } }