Перейти к содержимому

Магазин по категориям

Когда в магазине больше предметов, чем удобно поместить на одну страницу, естественный паттерн - хаб плюс подмагазины по категориям. В этом примере структура показана на трёх меню в одном файле: хаб и две категории.

  • Файлы с несколькими меню через обёртку menus { ... }
  • Навигацию между меню через openMenu
  • Повторение паттерна покупки по категориям без дублирования кода
  • Сочетание статических рамок и предметов магазина
  • Шорткат flags: HIDE_ATTRIBUTES для иконок инструментов и оружия

В файле через обёртку menus { ... } объявлены три именованных меню:

  • ame_shop - главный хаб. На нём активатор command: "ame_shop", показывает плитки категорий.
  • ame_shop_food и ame_shop_tools - подмагазины, открывающиеся из хаба.

Каждая плитка в хабе - это просто предмет с click { openMenu: "ame_shop_food" }. Никаких правил на деньги, никаких action’ов помимо самой навигации. Подмагазины открываются по имени.

Внутри подмагазина предметы построены по тому же паттерну, что и в магазине тортов: rules { money: ... }, блок actions {}, который списывает деньги и выдаёт предмет, и denyActions: ${denyNoMoney} из общих шаблонов на случай отказа.

Кнопка “назад” использует openMenu: "ame_shop", чтобы вернуться в хаб. Встроенного “назад” нет. Навигация по меню - это просто вызов openMenu с именем предыдущего меню.

Добавление новой категории - механическое:

  1. Добавьте новую плитку в список items хаба с click { openMenu: "ame_shop_<your_category>" }.
  2. Скопируйте любой блок подмагазина (например, ame_shop_food), переименуйте в ame_shop_<your_category>, замените предметы.
  3. Перезагрузите меню через /am reload.

После установки набора примеров:

  1. Закиньте бандл в plugins/AbstractMenus/menus/example/.
  2. /am reload.
  3. Введите /ame_shop в игре.