private void OnTrigger(Collider other)
    {
        Transform root = other.transform.root;

        if (!root.CompareTag(Tags.Player) || other.name == "BrakeTrigger")
        {
            return;
        }

        NPCCarController npc = root.GetComponent <NPCCarController>();

        if (npc == null)
        {
            return;
        }

        if (currentCar == null)
        {
            currentCar = npc;
        }

        if (npc == currentCar || npc == prevCar)
        {
            npc.ShouldBrake(false);
        }
        else
        {
            npc.ShouldBrake(true);
        }
    }
    private void Update()
    {
        if (currentCar == null)
        {
            return;
        }

        // Fallback in case somehow OnTriggerExit does not fire
        if ((currentCar.transform.position - transform.position).magnitude > 6f * transform.localScale.x)
        {
            Debug.LogError("Fallback intersection exit triggered");
            prevCar    = currentCar;
            currentCar = null;
        }
    }
    private void OnTriggerExit(Collider other)
    {
        Transform root = other.transform.root;

        if (!root.CompareTag(Tags.Player) || other.name == "BrakeTrigger")
        {
            return;
        }

        NPCCarController npc = root.GetComponent <NPCCarController>();

        if (npc == null)
        {
            return;
        }

        if (npc == currentCar)
        {
            prevCar    = currentCar;
            currentCar = null;
        }
    }