Этот скрипт упростит написание диалоговых окон, сведёт создание диалогового окна к написанию одной строки.
На данный момент присутствуют диалоговые окна с кнопками, вводом целых чисел, вводом строк и с RadioButton.
Вот небольшой мануал
cкрытый текст
m.BtnDialog(Header, Text, strButtons, butSize) создаёт диалоговое окно с кнопками и текстом Header - Заголовок окна(строка) Text - Текст после заголовка(строка) strButtons - Текст, отображаемый на кнопках(таблица строк) butSize - imgui.ImVec2, размер кнопок
m.BigBtnDialog(Header, Text, strButtons, butSize) создаёт диалоговое окно с кнопками и текстом strButtons - Текст, отображаемый на кнопках(таблица таблиц строк) кнопки из разный таблиц strButtons располагаются на соответствующей строчке(ex. {{\"1stroka 1\", \"1stroka 2\"}, {\"2s 1\", \"2s 2\"}})
m.RadioButtonDialog(Header, Text, strButtons, imint, butSize) создаёт диалоговое окно с RadioButton`ами strButtons - Текст, отображаемый на RadioButton`ах(таблица строк) imint - imgui.ImInt, в который записывается номер выбранного RadioButton`а (с еденицы).
m.RadioButtonReturnDialog(Header, Text, strButtons, Values, imint, butSize) создаёт диалоговое окно с RadioButton`ами От предыдущего отличается наличием Values Values - таблица значений(может быть и таблица таблиц), значение по индексу выбранного RadioButton`а из которого возвращается этой функцией.
m.InputIntDialog(Header, Text, strInts, imints, butSize) создает диалоговое окно с вводом целого числа(целых чисел) strInts - таблица названий для полей ввода чисел imints - таблица imgui.ImInt для записи в них значений.
m.InputTextDialog(Header, Text, strings, imbufs, butSize) создает диалоговое окно с вводом строки(нескольких строк) strings - таблица наименований для полей ввода текста