[IMGUI] Второе окно имгуи + вкладки

влад динозавр

Известный
Автор темы
1,297
618
Версия MoonLoader
.026-beta
Как при открытии второй вкладки открывать второе окно imgui?

Lua:
function imgui.OnDrawFrame() -- imgui
    local resX, resY = getScreenResolution()
       local sizeX, sizeY = 300, 100
       if not main_window_state.v and not secondary_window_state.v then
           imgui.Process = false
       end

       if main_window_state.v then
           imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 2, resY / 2 - sizeY / 2), imgui.Cond.FirstUseEver)
           imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
           imgui.Begin("iHelper / Settings", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoCollapse)
           -- tabs
        for i, title in ipairs(navigation.list) do
        if HeaderButton(navigation.current == i, title) then
            navigation.current = i
        end
        if i ~= #navigation.list then
            imgui.SameLine(nil, 30)
        end
    end
    if navigation.current == 1 then

    elseif navigation.current == 2 then

    end
           -- tabs
           imgui.End()
    end

    if secondary_window_state.v then
        imgui.Begin("iHelper / Main", secondary_window_state)
        imgui.End()
    end
end

up.
 
Последнее редактирование:
Решение
Lua:
            if navigation.current == 1 then
                secondary_window_state.v = false
            elseif navigation.current == 2 then
                secondary_window_state.v = true
            end

В беск цикле должно быть это
Lua:
imgui.Process = main_window_state.v or secondary_window_state.v

И
Код:
       if not main_window_state.v and not secondary_window_state.v then
           imgui.Process = false
       end
Не особо нужен, но для проверки можно оставить

qdIbp

Автор темы
Проверенный
1,450
1,191
Lua:
            if navigation.current == 1 then
                secondary_window_state.v = false
            elseif navigation.current == 2 then
                secondary_window_state.v = true
            end

В беск цикле должно быть это
Lua:
imgui.Process = main_window_state.v or secondary_window_state.v

И
Код:
       if not main_window_state.v and not secondary_window_state.v then
           imgui.Process = false
       end
Не особо нужен, но для проверки можно оставить