unity 2d raycast необходимо множественное пересечение

Всем привет, делаю свой платформер и возникла необходимость отдалять в определенном месте камеру, затем возвращать ее на место. Для этого использовался RayCast и тут начались проблемы в сторону отдаления камеры все работает идеально но вот при повторном пересечении луча камера еще больше отдаляется. Я понимаю что в моем скрипте так и должно и он написан не правильно но я никак не могу понять как сделать что б пересекая в одну сторону камера отдалялась , а при пересекании в другую возвращалась обратно) Буду рад любому совету

using UnityEngine;

public class CameraChange : MonoBehaviour
{
    public float speed = 5f;
    public float cameraZoom = -12f;
    public bool isLeft = false;
    CameraFollow changeZoom;
    //PlayerRigiController playerDirection;
    RaycastHit2D hit;
    // Start is called before the first frame update
    void Start()
    {
        changeZoom = GameObject.Find("Main Camera").GetComponent<CameraFollow>();
       // playerDirection = GameObject.Find("Player").GetComponent<PlayerRigiController>();

    }

    // Update is called once per frame
    void Update()
    {
        hit = Physics2D.Raycast(transform.position, transform.TransformDirection(Vector3.up), 100f);

        if (hit)
            {
                Debug.Log("Raycast collited with " + hit.collider.name);
                MoveCamera(cameraZoom, cameraZoom);
                isLeft = true;
            }
        
    }
    public void MoveCamera(float x, float y)
    {
        Vector3 movementAmount = new Vector3(x, 0, y) * speed * Time.deltaTime;
        changeZoom.gameObject.transform.Translate(movementAmount);
    }
    
}

Ответы (0 шт):