Простите за нубский вопрос. EnumDestructablesInRectAll, случайно, не вызывает каких-нибудь утечек, связанных с созданием и не удалением групп декораций?

function EnumDestructablesInRectAll takes rect r, code actionFunc returns nothing
    call EnumDestructablesInRect(r, null, actionFunc)
endfunction
native EnumDestructablesInRect takes rect r, boolexpr filter, code actionFunc returns nothing
Она нативку вызывает, чему там утекать?
`
ОЖИДАНИЕ РЕКЛАМЫ...
30
function EnumDestructablesInRectAll takes rect r, code actionFunc returns nothing
    call EnumDestructablesInRect(r, null, actionFunc)
endfunction
native EnumDestructablesInRect takes rect r, boolexpr filter, code actionFunc returns nothing
Она нативку вызывает, чему там утекать?
Принятый ответ
23
Не надо её использовать, она дублер бестолковый. Сразу нативку нужно юзать.
правда непонятно, зачем там code аргумент, если для проверки отбираемых деревьев есть boolexpr.
Или он вместо for group сделан?
17
Не надо её использовать
Я её из гуи вызываю, удаляю старый декор на карте перед созданием нового. Просто сейчас ищу где какие утечки есть, чтобы их исправить.
30
Просто сейчас ищу где какие утечки есть, чтобы их исправить.
Заниматься этим на гуях неблагодарное дело.
Можешь заюзать реальный Handle Counter для более точного отлова утечек.
И я надеюсь, ты по каждой функции не будешь вопрос создавать.
17
Можешь заюзать реальный Handle Counter для более точного отлова утечек.
Спасибо!
И я надеюсь, ты по каждой функции не будешь вопрос создавать.
Может и буду. Насколько я знаю, правилами - не запрещено. Я не так часто имею свободное время и раз в двести лет добрался до модмейкерства. Надо успеть доделать карту как умею, пока снова не настали рабочие дни.
28
EugeAl, это не дублер, а вариант функции без boolexpr. Поэтому и называется All

Cancel, в редакторе Ctrl+ЛКМ по имени функции и смотришь сурс, нет смысла задавать вопросы.
30
это не дублер, а вариант функции без boolexpr
Что мешало null передать?
Просто ради гуя все нативки были обёрнуты, чтоб при изменении кода движка гуя не компилить всё лишний раз.
в редакторе делаешь Ctrl+ЛКМ кликаешь и смотришь сурс
Там гуй Custom Code, а статьи читать нынче не модно.
23
Что мешало null передать?
Просто ради гуя все нативки были обёрнуты, чтоб при изменении кода движка гуя не компилить всё лишний раз.
В итоге оказали картоделам медвежью услугу и лишний геморрой с утечками и усложнением и кривостью гуишного кода на выходе.
хотя я не жалую гуи, из за урезанного функционала
30
В итоге оказали кодерам медвежью услугу и лишний геморрой.
Кодеры прекрасно пользуются нативками и не парятся, а вот гуишники...
лишний геморрой с утечками и усложнением и кривостью гуишного кода на выходе.
Утечки это следствие отсутствия сборщика мусора. А гуи сделан для простых действий, наподобие всяких кинематик. То, что на нём пытаются делать сложные системы это проблема отдельно взятых личностей.
17
Там гуй Custom Code, а статьи читать нынче не модно.
это проблема отдельно взятых личностей.
Я не хотел разводить оффтоп, но твоя пассивная агрессия, которая прослеживается через каждое сообщение, вынудила меня дать ответ.
Знаешь, что это неоправданно токсичное поведение?
Давай я расскажу на своём примере, какую модель поведения считаю приемлемой в подобных ситуациях.
Я сам обучаю людей, Power Query, VBA, кое-где юнити и С#, в рамках обучения технических гейм-дизайнеров.
Так как у меня коммерческий опыт в профессии больше 12 лет, то с моей точки зрения 95% вопросов, с которыми ко мне обращаются, кажуются элементарными, которые вытекают из недочитанности или малоопытности вопрошающего.
И это нормально. Было бы странно, если бы новички задавали вопросы, на которые я не знаю ответа, которые мне кажутся нетривиальными. В противном случае были бы вопросы к тому, чем я занимался всю карьеру.
И что я в этом случае делаю? Удовлетворяю своё чсв, обвиняя их в том, что они где-то что-то недочитали? Нет. Мне приятно когда ко мне за советами приходят джуны, и я отвечаю ни их вопросы, либо даю ссылку где они могут что-то прочитал, что касается затронутого ими вопроса.
Я делюсь опытом, и лично для меня - это приятный процесс.
Если бы мне это не нравилось - я бы не создавал тематические группы и не обеспечивах вопрошающих условиями для задавания их вопросов.
Спасибо, конечно, что ты ответил на мой вопрос, это ценно и помогло мне. Но если эти ответы должны сопровождаться токсичностью по отношению к незнакомому тебе человеку - то лучше бы проходил мимо, и не тратил бы своё время. И, заодно - не портил бы настроение ни себе, ни мне.
В последний раз я плотно занимался кортостроем очень давно, и я зашёл на этот сервис как новичок, и чтобы не смущать бывалых вояк - заранее обозначил нубость вопроса, дав возможность тем, кто ценит своё время и не хочет его тратить на новичков - пройти мимо.
Теперь, касаемо основных претензий, если интересно, могу поделиться путями принятия решений:
Почему гуи:
у меня до начала рабочих дней не так много времени, и у меня был выбор - сделать карту на гуи, чтобы успеть, либо, по сути, заново учить язык, чтобы делать как белый человек. Но в этом случае я бы не успел ничего сделать. Но я признаю, что это не оптимально, даже с точки зрения макаронной архитектуры проекта, не говоря уже о борьбе с учтечками.
Но я точно знаю, что вернуться к проекту после начала рабочих дней у меня получится не скоро, и когда это произойдёт - скорее всего, всё уже заново забудется и я сделаю другую карту. Поэтому на макаронную архитектуру можно забить.
А с утечками чуть сложнее - в моём рогалике постоянно что-то генерируется, и поэтому мне нужно хотя бы в основных местах их устранить.
О том, что "не можно читать" и откуда вообще данный вопрос:
Как раз в рамках борьбы с утечками, я стал читать тематические статьи, и в них в первую очередь порекомендовали обратитьв нимание на "выбрать каждого юнита", потому что в рамках выполнения этих действий создаются и не удаляются группы юнитов. Это очень важный пункт, который породил вопрос "а касается ли то же самое групп декора? или там другая логика и декор не создаётся?".
Уверен, что если бы я больше вреени уделил изучению вопроса, то мне не пришлось бы задавать этот вопрос здесь. Но это же можно было сказать о любом другом вопросе новичков, коим я в данной тематике и являюсь.
Так что, этот вопрос- следствия прочтённых статей, а не следствие того, что они, якобы, не читались.
И если я пропустил какую-то важную информацию - это не повод своим высокомерием вытерать об меня ноги.
У меня всё. Спасибо, что дочитал.
30
Так как у меня коммерческий опыт в профессии больше 12 лет
Узнать код функции CTRL+ЛКМ, что явно быстрее чем задать вопрос и дожидаться ответа. Неужто за 12 лет разработки и обучения людей не развилась привычка экономить своё и чужое время?
17
Узнать код функции CTRL+ЛКМ
Я вообще хз про что ты. А время я научился экономить ровно настолько, чтобы не вести дискуссии с токсичными людьми.
28
Если нет TESH, то можно просто открыть blizzard.j и там найти. С 1.31 blizzard.j находится в папке документов пользователя Documents\WarCraft III\JassHelper. Но лучше поставить TESH, или для версий ниже использовать JNGP или Sharpcraft.
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.