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(); } }