Правильно ли я обнуляю переменную юнит-массив EfectRudnik(24) через цикл?
Для каждого А от 1 до 24 делать:
Личный сценарий: call RemoveUnit (udg_EfectRudnik [GetForLoopIndexA()] )
В случае этой карты трудно прописывать обнуление для каждой переменной отдельно, потому что массивы объемные и их много. Решил попробовать сократить через циклы.

Принятый ответ

Ты не обнуляешь переменную, а удаляешь юнита из игры. Запись верная.
Обнуление будет таким.
set udg_EfectRudnik[bj_forLoopAIndex] = null
Но нет смысла обнулять глобалки.

Группы - это тоже объект, как и юнит, вот только юнит имеет визуальную составляющую (его видно глазами), а группа нет.
Изначально массив групп создаёт группу (новая группа всегда пустая) для ячеек 0, ..., размер_массива (указывается в настройках переменной). Во всех остальных ячейках групп просто нет, там нули.
Если группа больше не нужна, её нужно уничтожить (call DestroyGroup(g)), в GUI такого действия нет. После этого группы не существует. Если попытаться что-то добавить в эту группу через переменную, что всё ещё на неё ссылается, ничего не произойдёт.
GUI действия типа "Выбрать юнитов в области" создают новую группу каждый раз, что может вызывать утечки. Потому такие вызовы лучше всего записывать в переменную, делать необходимые действия, а потом уничтожать (не очищать!).
`
ОЖИДАНИЕ РЕКЛАМЫ...
4
28
5 лет назад
4
Ты не обнуляешь переменную, а удаляешь юнита из игры. Запись верная.
Обнуление будет таким.
set udg_EfectRudnik[bj_forLoopAIndex] = null
Но нет смысла обнулять глобалки.

Группы - это тоже объект, как и юнит, вот только юнит имеет визуальную составляющую (его видно глазами), а группа нет.
Изначально массив групп создаёт группу (новая группа всегда пустая) для ячеек 0, ..., размер_массива (указывается в настройках переменной). Во всех остальных ячейках групп просто нет, там нули.
Если группа больше не нужна, её нужно уничтожить (call DestroyGroup(g)), в GUI такого действия нет. После этого группы не существует. Если попытаться что-то добавить в эту группу через переменную, что всё ещё на неё ссылается, ничего не произойдёт.
GUI действия типа "Выбрать юнитов в области" создают новую группу каждый раз, что может вызывать утечки. Потому такие вызовы лучше всего записывать в переменную, делать необходимые действия, а потом уничтожать (не очищать!).
Принятый ответ
0
20
5 лет назад
0
PT153, спасибо за развернутый ответ.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.