local sf = string.format
local mainShowFrame = imgui.new.bool(true)
local secondShowFrame = imgui.new.bool(true)
local fmtButton = ''
local mainFrame = imgui.OnFrame(
function()
-- проверяет на bool[0], если положительно то рисует фрейм
return mainShowFrame[0]
end,
function()
-- это обработка данные по каждому кадру. например, для форматирование строка в кнопках
-- кратко, обработка данные ПЕРЕД рендер фрейма
-- если такой не будет функции, то просто перейдет на обрисование фрейма
fmtButton = sf('%s second frame', secondShowFrame[0] and 'Hide' or 'Show')
end,
function()
-- рисует фрейм
if imgui.Begin('Main Frame', mainShowFrame) then
imgui.Text('Hello, it is MAIN')
if imgui.Button(fmtButton) then
secondShowFrame[0] = not secondShowFrame[0]
end
imgui.End()
end
end
)
local secondFrame = imgui.OnFrame(
function()
return secondShowFrame[0]
end,
function()
if imgui.Begin('Second Frame', secondShowFrame) then
imgui.Text('Hey! It is SECOND frame!')
imgui.End()
end
end
)