Unsubscribe \ Уничтожение инстансов окон ImGui (mimgui)

stool

Известный
Автор темы
481
421
Версия MoonLoader
Другое
Предположим, что вы засранец и нагадили туевой хучей окон. Как их теперь убрать-то? Естественно, я их нигде не храню, через обнуление self ничего не выходит, подходящие функции не нашел (или в шары долблюсь, пишу код нонстопом уже больше суток). Памахите


1714443143084.png
1714443162568.png
 
  • Нравится
Реакции: Wasta

kyrtion

return "Известный"
Проверенный
1,436
565
а что про _render? мб получится
в кнопка попробуй указать self[k]._render = false (это в циклах)

если после этого и все окно убили, то проверить что этот окно активен и тогда убить и прервать цикл
 

stool

Известный
Автор темы
481
421
Lua:
-- mimgui/init.lua
function sub:Unsubscribe()
    Unsubscribe(subscriptionsNewFrame, self)
end

не self.Unsubscribe(), а self:Unsubscribe()
Отличное решение, спасибо! А что по оптимизации памяти? После ансабскрайба окно остаётся в памяти или выгружается? (не знаю о наличии сборщика мусора в луа, в имгуи самом по себе подобное встречал, но во всратой форме, когда аллоцированная память остаётся аллоцированной, просто выделяется уже для новых объектов)
 
  • Ха-ха
Реакции: Vespan