Вся тригонометрия (чисто теоретически) должна считаться математическим сопроцессором, у которого для этого есть специальные команды. Т. е. быстро, учитывая потерю времени на вызове оберток.
Цитата (xomach)
и EnumUnits'ы работают за линию?
А вот этого тебе никто не скажет. Если бы я был разработчиком подобной игры, я бы разбил карту на кусочки и регистрировал юнитов в каждом из них. И когда юзер запрашивает юнитов в радиусе от какой-либо точки, перебирать нужно только несколько квадратов. Можно проверить, вдруг сделано именно так. Создать большую карту, в одном угле создать одного юнита, в другом - очень много и замерить время выбора того одного. Может быть, другие будут на него влиять, а может быть, и нет.