private void MouseDrag() { if (selected == null) { return; } Vector3 pos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0)); pos.z = 0; selected.position = pos + (Vector3)selOffset; //Debug.Log(selected.GetComponent<SpriteRenderer>().sprite.rect); PuzzlePiece piece = selected.GetComponent <PuzzlePiece>(); if ((piece.PlacedSpot - new Vector2(piece.transform.localPosition.x, piece.transform.localPosition.y)).magnitude < 0.4f) { piece.Place(); selected = null; if (CheckCompleted()) { StartCoroutine(CompletedCoroutine()); } } }