- Совместимость с RAGE:MP
-
- 1.1 (prerelease)
Может кто помнит, несколько лет назад выставлял на продажу систему менюшек, похожих на меню взаимодействия из Sims
В то время только начинал работать с рейджом, да и в целом с вебом/js, ну и о существовании фреймворков не догадывался)
Короче все это дело было сделано на обычном jquery и каждое меню создавало свой отдельный .html именно для этой менюшки, ужас)
Особо никто этой темой так и не заинтересовался, кроме одного человека (привет, @Inoi)
В общем давно хотел все это дело довести до ума и выложить, а тут и конкурс маленько мотивации накинул
Так что, я тоже поучаствую с этой работой, если можно)
Переделал все на Vue, немного оптимизировал код, теперь особо не стыдно и людям показать
За адаптивность не бейте, я вообще не верстальщик)
Функционал плюс-минус остался тот же:
В архиве все необходимые файлы и тестовый модуль для примера использования.
В то время только начинал работать с рейджом, да и в целом с вебом/js, ну и о существовании фреймворков не догадывался)
Короче все это дело было сделано на обычном jquery и каждое меню создавало свой отдельный .html именно для этой менюшки, ужас)
Особо никто этой темой так и не заинтересовался, кроме одного человека (привет, @Inoi)
В общем давно хотел все это дело довести до ума и выложить, а тут и конкурс маленько мотивации накинул
Так что, я тоже поучаствую с этой работой, если можно)
Переделал все на Vue, немного оптимизировал код, теперь особо не стыдно и людям показать
За адаптивность не бейте, я вообще не верстальщик)
Функционал плюс-минус остался тот же:
JavaScript:
const sMenu = require(`../simsMenu/index.js`);
const mainMenu = new sMenu.Menu(); // объявляем меню
const sipleItem = new sMenu.Button(); // объявляем кнопку
sipleItem.text = `Текст кнопки`; // текст кнопки
sipleItem.icon = sMenu.images.OK; // иконка возле текста (необязательно)
sipleItem.iconWidth = 33; // ширина иконки (необязательно, по дефолту - 33)
sipleItem.enabled = false; // активна кнопка или нет (необязательно, по дефолту - true)
sipleItem.tooltip = `Текст подсказки`; // при наведении на кнопку (необязательно)
sipleItem.onClick = (player) => player.notify(`Нажал на кнопку`); // коллбэк
mainMenu.addItems(sipleItem); // добавляем кнопку
mainMenu.addItems([sipleItem, sipleItem]); // или несколько кнопок в массиве
mainMenu.addBackButton(`Назад`, (player) => player.notify(`сообщение`)); // кнопка в центре меню, принимает название и коллбэк
mainMenu.show(player); // показать меню
mainMenu.hide(player); // скрыть меню
В архиве все необходимые файлы и тестовый модуль для примера использования.