Untitled
By: a guest | Apr 28th, 2010 | Syntax:
None | Size: 0.64 KB | Hits: 61 | Expires: Never
unit getSecondClosestUnit(unit u)
{
unit closest;
unit secondClosest;
unitgroup g = /* code to get unit group that covers all units across the map here */;
UnitGroupLoopBegin(g);
while( !UnitGroupLoopDone() )
{
if( !closest || DistanceToUnit(u, closest) > DistanceToUnit(u, UnitGroupLoopCurrent()) )
{
closest = UnitGroupLoopCurrent();
UnitGroupLoopStep();
continue;
}
if( !secondClosest || DistanceToUnit(u, secondClosest) > DistanceToUnit(u, UnitGroupLoopCurrent()) )
{
secondClosest = UnitGroupLoopCurrent();
UnitGroupLoopStep();
continue;
}
}
UnitGroupLoopEnd();
return secondClosest;
}