Как сделать смену декорации (Стиля) на Mimgui через combo?

boy next door

Участник
Автор темы
246
23
Версия MoonLoader
.026-beta
всем привет. я вот задался таким вопросом. почему у меня есть смена тем на другие, но нету смены их параметров (rounding и т.д)
В чём прикол, что оно тупо не запускает скрипт при таком коде.
Я делал по этому примеру -
click
Вот
Lua:
local decorListNumber = new.int()

local decorList = {u8'My', u8'Classic'}
local decorListBuffer = imgui.new['const char*'][#decorList](decorList)


--frame

if imgui.Combo('',decorListNumber,decorListBuffer, #decorList) then
    decor[decorListNumber[0]+1].decorchange()
end

--end frame

imgui.OnInitialize(function()
    decor[decorListNumber[0]+1].decorchange()
end)

decor = {
        {
            decorchange== function()
            local ImVec4 = imgui.ImVec4
            local style = imgui.GetStyle()
            local colors = style.Colors

            style.WindowPadding = imgui.ImVec2(15, 15)      
            style.WindowRounding = 10.0
            style.ChildRounding = 6.0
            style.FramePadding = imgui.ImVec2(8, 7)
            style.FrameRounding = 8.0
            style.ItemSpacing = imgui.ImVec2(8, 8)
            style.ItemInnerSpacing = imgui.ImVec2(10, 6)
            style.IndentSpacing = 25.0
            style.ScrollbarSize = 13.0
            style.ScrollbarRounding = 12.0
            style.GrabMinSize = 10.0
            style.GrabRounding = 6.0
            style.PopupRounding = 8
            style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
            style.ButtonTextAlign = imgui.ImVec2(0.5, 0.5)  
            end
        },
        {
            decorchange == function()
            local ImVec4 = imgui.ImVec4
            local style = imgui.GetStyle()
            local colors = style.Colors
           
            style.Alpha = 1;
            style.WindowPadding = imgui.ImVec2(8.00, 8.00);
            style.WindowRounding = 7;
            style.WindowBorderSize = 1;
            style.WindowMinSize = imgui.ImVec2(32.00, 32.00);
            style.WindowTitleAlign = imgui.ImVec2(0.00, 0.50);
            style.ChildRounding = 0;
            style.ChildBorderSize = 1;
            style.PopupRounding = 0;
            style.PopupBorderSize = 1;
            style.FramePadding = imgui.ImVec2(4.00, 3.00);
            style.FrameRounding = 0;
            style.FrameBorderSize = 0;
            style.ItemSpacing = imgui.ImVec2(8.00, 4.00);
            style.ItemInnerSpacing = imgui.ImVec2(4.00, 4.00);
            style.IndentSpacing = 21;
            style.ScrollbarSize = 14;
            style.ScrollbarRounding = 9;
            style.GrabMinSize = 10;
            style.GrabRounding = 0;
            style.TabRounding = 4;
            style.ButtonTextAlign = imgui.ImVec2(0.50, 0.50);
            style.SelectableTextAlign = imgui.ImVec2(0.00, 0.00);
            end
        }
    }
}

Проблема решена.
 
Последнее редактирование: