Never mind the gaps. I dont want to calculate the number of links, it should be a fixed value like Randy Gaul suggested.
From the code posted above, I switched line from: Vector2 linkPos = endPoint1.lerp(endPoint2, (float)i/(float)links); to: Vector2 linkPos = endPoint1.lerp(endPoint2, (float)i/(float)(links-1));
And I got the results I wanted: One chain always on the start point and an other always at the end point.
The problem is that the distance between the chains are really odd.
Why do the links at the left clot but not those at right?
Edit: Never mind. It was an typo. Works great