private Vertex GetVertexNearPosition(Vector2 position)
{
float selectDistance = HandleUtility.GetHandleSize(position) * baseSelectDistance;
float minSelectDistance = selectDistance * selectDistance;
int minIndex = -1;
float minValue = float.MaxValue;
float distance = 0;
for(int i = 0; i < verts.Count; i++) {
distance = (position - verts[i].position).sqrMagnitude;
if(distance < minValue) {
minValue = distance;
minIndex = i;
}
}
if(minValue > minSelectDistance) return null;
if(minIndex < 0) return null;
verts[minIndex].index = minIndex;
return verts[minIndex];
}