using UnityEngine; public class PointZone : MonoBehaviour { [SerializeField] private float maxNearMissDistance = 2f; public static bool bulletInZone; [SerializeField] PlayerInput playerInput; public BulletSpawner spawner; [SerializeField] float nearMissDificultyRatio; private void OnTriggerEnter2D(Collider2D collision) { if (!collision.CompareTag("Bullet")) return; bulletInZone = true; collision.GetComponent().bulletState = BulletStates.inPointZone; } private void OnTriggerExit2D(Collider2D collision) { if (!collision.CompareTag("Bullet")) return; float dist = Vector2.Distance(transform.position, collision.transform.position); // normalize distance (0 = perfect close, 1 = edge of zone) float t = Mathf.Clamp01(1f - (dist / maxNearMissDistance)); int score = Mathf.RoundToInt(Mathf.Lerp(1f, 10f, t)); ScoreManager.Instance.AddNormalPoint(score); collision.GetComponent().bulletState = BulletStates.active; bulletInZone = false; } }