// Input and fluid position update
    private void Update()
    {
        if (!Application.isEditor)
        {
            Cursor.visible = false;
        }

        if (_isLocked)
        {
            if (_currentCursor != null)
            {
                if (_isLockedInWorldPos)
                {
                    Vector3 screemPos = CameraService.Instance.ActiveCamera.WorldToScreenPoint(_lockedPosition);
                    _currentCursor.SetCursorsPosition(new Vector2(screemPos.x, screemPos.y));
                }
                else
                {
                    _currentCursor.SetCursorsPosition(_lockedPosition);
                }
            }
        }
        else
        {
            UpdateAllPosition();
        }


        if (_currentSetting != null)
        {
            if (Input.GetMouseButton(0))
            {
                if (!_isInClickMode)
                {
                    _isInClickMode = true;
                    SetCursorClickMode();
                }
            }
            else
            {
                if (_isInClickMode)
                {
                    _isInClickMode = false;
                    SetCursorNormalMode();
                }
            }
        }
    }