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

Под-хаб

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

  • Паттерн кнопки назад через openMenu на имя родителя
  • Различие “назад” (просто подняться по дереву меню) и “закрыть” (выйти из UI меню)
  • Возможность открыть под-хаб напрямую через свою команду в дополнение к навигации по цепочке

Подход 1 (используется здесь): захардкодить имя родителя.

{
slot: 18
material: ARROW
name: "&eНазад в главный хаб"
click { openMenu: "ame_hub" }
}

Дёшево, просто, работает. Ограничение: если в этот под-хаб ведут несколько меню, кнопка назад всегда возвращает на ame_hub, даже если игрок пришёл откуда-то ещё.

Подход 2 (см. Цепочка хлебных крошек): использовать openMenuCtx и дать контексту активатора протащить “предыдущее меню” по цепочке. Кнопка назад тогда динамически вернёт туда, откуда игрок пришёл.

В 95% случаев захардкодить родителя нормально. Оставь openMenuCtx для действительно глубоких деревьев меню.

  1. Положи бандл в plugins/AbstractMenus/menus/example/.
  2. /am reload.
  3. Введи /ame_hub, чтобы начать с главного хаба, или /ame_subhub, чтобы попасть сюда напрямую.
  4. Кликни по плитке, чтобы открыть целевое меню.
  5. Кликни “Назад в главный хаб”, чтобы вернуться.