mirror of
https://github.com/OTCv8/otclientv8.git
synced 2025-04-29 18:59:20 +02:00
49 lines
1.3 KiB
Lua
49 lines
1.3 KiB
Lua
buttonsWindow = nil
|
|
contentsPanel = nil
|
|
|
|
function init()
|
|
buttonsWindow = g_ui.loadUI('buttons', modules.game_interface.getRightPanel())
|
|
buttonsWindow:disableResize()
|
|
buttonsWindow:setup()
|
|
contentsPanel = buttonsWindow.contentsPanel
|
|
if not buttonsWindow.forceOpen or not contentsPanel.buttons then
|
|
buttonsWindow:close()
|
|
end
|
|
end
|
|
|
|
function terminate()
|
|
buttonsWindow:destroy()
|
|
end
|
|
|
|
function takeButtons(buttons)
|
|
if not buttonsWindow.forceOpen or not contentsPanel.buttons then return end
|
|
for i, button in ipairs(buttons) do
|
|
takeButton(button, true)
|
|
end
|
|
updateOrder()
|
|
end
|
|
|
|
function takeButton(button, dontUpdateOrder)
|
|
if not buttonsWindow.forceOpen or not contentsPanel.buttons then return end
|
|
button:setParent(contentsPanel.buttons)
|
|
if not dontUpdateOrder then
|
|
updateOrder()
|
|
end
|
|
end
|
|
|
|
function updateOrder()
|
|
local children = contentsPanel.buttons:getChildren()
|
|
table.sort(children, function(a, b)
|
|
return (a.index or 1000) < (b.index or 1000)
|
|
end)
|
|
contentsPanel.buttons:reorderChildren(children)
|
|
local visibleCount = 0
|
|
for _, child in ipairs(children) do
|
|
if child:isVisible() then
|
|
visibleCount = visibleCount + 1
|
|
end
|
|
end
|
|
if visibleCount > 6 and buttonsWindow:getHeight() < 30 then
|
|
buttonsWindow:setHeight(buttonsWindow:getHeight() + 22)
|
|
end
|
|
end |