public float m000180(ref Vector3 vector, out struct0c6 connectingSegment) { float num = (float) this.m000085(); Vector2 vector2 = new Vector2(((float) (this.f0000c0.f000069 - this.f0000bf.f000069)) / num, ((float) (this.f0000c0.f000074 - this.f0000bf.f000074)) / num); Vector2 vector3 = new Vector2(vector.X - ((float) this.f0000bf.f000069), vector.Y - ((float) this.f0000bf.f000074)); float num2 = Vector2.Dot(vector3, vector2); if (num2 < 0f) { connectingSegment.f0000bf = new struct055(ref vector); connectingSegment.f0000c0 = this.f0000bf; return (float) connectingSegment.m00008d(); } if (num2 > num) { connectingSegment.f0000bf = new struct055(ref vector); connectingSegment.f0000c0 = this.f0000c0; return (float) connectingSegment.m00008d(); } connectingSegment.f0000bf = new struct055(ref vector); connectingSegment.f0000c0 = new struct055(this.f0000bf.f000069 + (num2 * vector2.X), this.f0000bf.f000074 + (num2 * vector2.Y)); return (float) connectingSegment.m00008d(); }