Вроде с отрядами разобрался, используя для них одну переменную, которая очищается после каждого действия, возможно где-то создаются точки, но я не увидел в конвертированном тексте других udg переменных. Волнуюсь потому что таких блоковых триггеров у меня более 20 для конкретных областей карты, и они запускаются последовательно, так что лучше избавится от утечек сейчас.
Принятый ответ
Переменная "точка" это не просто два числа.
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован biridius
еще непонятно зачем записывать в точку центр региона, который уже был отцентрован на эту точку.
Когда ты записываешь в переменную точку вроде Center of Region, тот объект точки который там был до этого утекает и его по этой переменной больше не найти. Надо удалять точку call RemoveLocation(udg_treepoint) после всех действий с ней, до того как туда записывается что-то еще.
biridius, Ты уверен? Я занёс точку в переменную которая просто меняет координаты, тоесть точка не меняет координаты находясь в переменной? И её каждый раз нужно удалять?
Отредактирован biridius
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation