protected override void Awake()
    {
        base.Awake();
        ClickManager.Instance();
        ClickManager.OnClickAndRelease += PlayerMoveInputUpdate;

        if (!mainCamera)
        {
            mainCamera = FindObjectOfType <Camera>();
        }

        lr = GetComponent <LineRenderer>();
    }
    // Start is called before the first frame update
    void Start()
    {
        ClickManager.Instance();
        ClickManager.OnClickAndDragBegin += DragBegin;
        ClickManager.OnClickAndDragEnd   += DragEnd;
        ClickManager.OnDragGetVelocity   += Dragging;
        ClickManager.OnClickDown         += ClickDown;
        rigidbody       = GetComponent <Rigidbody>();
        enterBorder     = false;
        playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
        var mainCam = GameObject.FindGameObjectWithTag("MainCamera");

        virtualCamera = mainCam.GetComponentInChildren <CinemachineVirtualCamera>();

        SetInitialZoomSliderPos();
    }