public Vector3 GetPointAtDistanceWithOvershoot(float d, Node start, Stretch nextStretch, ref bool overShoot) { float t = 0; if (start == anchorA) { t = d / Length; if (t > 1) { overShoot = true; return(nextStretch.GetPointAtDistance(t - 1, this.GetOpossiteNode(start))); } } else if (start == anchorB) { t = 1 - (d / Length); if (t < 0) { overShoot = true; return(nextStretch.GetPointAtDistance(-t, GetOpossiteNode(start))); } } overShoot = false; return(GetPoint(t)); }