Wouldn't it be easy if the code for calcmindistance would return the distance and the object related to that distance? That would make picking much easier (and less lines of code)
public float calcMinDistance(SimpleVector paramSimpleVector1, SimpleVector paramSimpleVector2, float paramFloat)
{
Object3D localObject3D = null;
float f1 = 3.4028235E+38F;
for (int i = 2; i < this.objectList.size(); ++i)
{
localObject3D = this.objectList.elementAt(i);
if ((!(localObject3D.isPotentialCollider)) || ((!(localObject3D.isMainWorld)) && (localObject3D.oneSectorOnly) && (Config.useFastCollisionDetection) && (localObject3D.hasBoundingBox) && (localObject3D.rayIntersectsAABB(paramSimpleVector1, paramSimpleVector2, true) >= paramFloat)))
continue;
float f2 = localObject3D.calcMinDistance(paramSimpleVector1, paramSimpleVector2, paramFloat);
if (f2 >= f1)
continue;
f1 = f2; <- save object
} if (f1 != 3.4028235E+38F)
return f1; <- return array of object and distance
return 1.0E+012F;
}
just a suggestion ofcourse