using UnityEngine; public class PlayerShooter : MonoBehaviour { [SerializeField] private Projectile projectilePrefab; [SerializeField] private Transform firePoint; [SerializeField] private float interval = 0.25f; [SerializeField] private GameManager gameManager; private float lastShotTime; private void Update() { if (gameManager != null && !gameManager.IsPlaying) { return; } if (Input.GetKey(KeyCode.Space) && Time.time >= lastShotTime + interval) { Shoot(); lastShotTime = Time.time; } } private void Shoot() { if (projectilePrefab == null || firePoint == null) { return; } var projectile = Instantiate(projectilePrefab, firePoint.position, firePoint.rotation); projectile.Initialize(firePoint.forward, gameObject); } }