mimgui вкладка

ChаtGPT

Активный
Автор темы
403
97
Версия MoonLoader
.026-beta
Есть вкладки, есть отдельная вкладка "+", её я хочу использовать как кнопку, чтобы код сработал 1 раз, а не каждый кадр. Это необходимо для создания других вкладок. Вроде как накостылил, код срабатывает 1 раз, но как мне установить индекс вкладки, например на первую, чтобы выбралась другая вкладка :/

Lua:
local selectedTab = 1
local tabCounter = false

function ImGuiEnum(name)
    return setmetatable({__name = name}, {__index = function(t, k)
        return imgui.lib[t.__name .. k]
    end})
end
local TabBarFlags = ImGuiEnum('ImGuiTabBarFlags_')
local TabItemFlags = ImGuiEnum('ImGuiTabItemFlags_')

imgui.BeginTabBar("Tabs", TabBarFlags.FittingPolicyScroll  + TabBarFlags.AutoSelectNewTabs + TabBarFlags.TabListPopupButton + TabBarFlags.NoTooltip)

    for i, tab in ipairs(cfg.group) do
        if imgui.BeginTabItem(tab.name) then
            if TabItemFlags.SetSelected then -- когда выбираю вкладку, записываем индекс
                selectedTab = i
            end
             imgui.EndTabItem()
         end
    end
 
    if imgui.BeginTabItem('+') then
        --Tabs():Create()
        if not tabCounter then
           sampAddChatMessage('+', -1)
           tabCounter = true
           selectedTab = 1
         end
         imgui.EndTabItem()
    end                       
imgui.EndTabBar()
 

wojciech?

Известный
Проверенный
378
277
есть отдельная вкладка "+", её я хочу использовать как кнопку, чтобы код сработал 1 раз, а не каждый кадр
после вкладки:
Lua:
if imgui.IsItemHovered() and imgui.IsMouseClicked(0) then
  -- code
  imgui.SetTabItemClosed("+")
end
 
Последнее редактирование:
  • Влюблен
Реакции: ChаtGPT