Хотел бы узнать, почему ф-ция Matching unit утечна, и какие есть способы, чтобы ее обойти?
Принятый ответ
короче вопрос закрываю ибо все ответы даны а обсуждение отошло от темы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
либо пока сам не курну травы
Отредактирован EnergyFrost
Обычно ее используют при отсеивании юнитов в группе. А от в гуи это как раз то, отрывок чего я присоединил. То есть утечку создает группа.
Liebendig1993: В свое время этот комментарий породил у меня тот же вопрос.
GetFilterUnit() не вызывает утечки, ибо возвращает только существующего на карте юнита, а не плодить нового как GetUnitLoc() которая каждый раз плодит по локейшену, но это многие не помнят.
Ах да чуть не забыл, там половина гуи действий с группами вызвывает утечки то локейшены то группы, именно функция типа GetUnitsInRectMatching, вот тут да, не удаляется группа.
Отредактирован EnergyFrost
loop
set u = FirstOfGroup(udg_G)
if Условия подбора юнита u then
call GroupRemoveUnit(udg_G,u)
exitwhen u == null
endloop
можешь использовать вот такую конструкцию, чтобы избежать вызовов функции с matching unit