private void OnMouseDrag()
    {
        if (InteractionType == InteractType.DragToCircle && MouseItemControl.ModeUseful(this.InteractMod))
        {
            if (!_movingScript)
            {
                _movingScript = GetComponent <BasicMovingObject>();
            }

            if (_movingScript)
            {
                _movingScript.StopMoving();
            }

            if (Camera.main)
            {
                this.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                this.transform.position = new Vector3(this.transform.position.x, this.transform.position.y, 0);
            }

            if (Vector2.Distance(this.transform.position, _worldInteractPosition) < _dragCircleRadius)
            {
                this._isInsideCircle = true;
            }
            else
            {
                _isInsideCircle = false;
            }
        }
    }
 private void OnMouseDown()
 {
     if (InteractionType == InteractType.Click)
     {
         this.OnInteract();
     }
     else if (InteractionType == InteractType.DragToCircle && MouseItemControl.ModeUseful(this.InteractMod))
     {
         //范围出现
         ShowDragCircle();
         _originalPos = this.transform.position;
     }
 }
    private void OnMouseUp()
    {
        if (_isInsideCircle)
        {
            this.OnInteract();
        }

        if (this.InteractionType == InteractType.DragToCircle && MouseItemControl.ModeUseful(this.InteractMod))
        {
            this.transform.DOMove(this._originalPos, 0.3f).OnComplete(() => {
                this._movingScript.StartMoving();
            });
        }

        if (_circlePrefab)
        {
            _circlePrefab.SetActive(false);
        }

        _isInsideCircle = false;
    }
    public override void OnInteract()
    {
        base.OnInteract();
        if (this.InteractionType == InteractType.Click && MouseItemControl.ModeUseful(this.InteractMod))
        {
            this._clickHp--;
            CameraShakeManager.Instance.SmallImpulse();
            if (Math.Abs(BasicScore) > 0.01f)
            {
                Gamemanager.Instance.AddScore(BasicScore, this.transform.position);
            }

            if (_clickHp <= 0)
            {
                this.ItemWork();
            }
        }
        else if (InteractionType == InteractType.DragToCircle && MouseItemControl.ModeUseful(this.InteractMod))
        {
            this.ItemWork();
        }
    }