public Vector3 Move(Vector3 pos) { var dir = pos - transform.position; if (dir != Vector3.zero) { moveDirection = dir; } Tweener.Instance.MoveTo(transform, RoundVector(pos), moveDuration, 0, TweenEasings.LinearInterpolation); if (moveDirection.magnitude > 0.5f) { moveCount++; } if (tail) { var tp = tail.Move(transform.position); var sum = RoundVector(pos + tp); Tweener.Instance.MoveTo(mid, sum * 0.5f, moveDuration, 0, TweenEasings.LinearInterpolation); } else { Tweener.Instance.MoveTo(mid, pos, moveDuration, 0, TweenEasings.LinearInterpolation); } return(RoundVector(pos)); }