Files
mod_ui_base/docs/ru.md
T

6.0 KiB
Raw Blame History

UI — общий интерфейс всех игр

UI — общий для всех игр слой интерфейса: панель инструментов в правом верхнем углу, игровое меню, индикатор сохранения, уведомления в левом верхнем углу, просмотр фона и единый вид панелей, кнопок и списков. Собственной истории и правил у него нет. Почти все остальные моды строятся поверх него — поэтому UI есть в каждой игре и значится в зависимостях у огромного числа модов.

Сцена в Cthangover в полдень: часы слева вверху, панель инструментов справа вверху, варианты выбора сцены справа.

Панель инструментов

Каждая иконка открывает свою панель. Набор кнопок не фиксирован: свой добавляет каждый мод игры, поэтому в новелле без предметов не будет сумки, а в игре со Scenario Studio появится ещё одна иконка.

Панель инструментов Cthangover: инструменты, карта, сумка, персонажи, рекруты, навыки, меню (шестерёнка) и журнал.

В Cthangover слева направо:

  1. Инструменты — меню инструментов разработчика (только когда в игре есть редакторы).
  2. Карта — карта мира (Map Engine).
  3. Сумка — инвентарь (Items).
  4. Персонажи — отряд и персонажи (Characters).
  5. Рекруты — завербованные персонажи (Recruiting).
  6. Навыки — навыки (Skills).
  7. Меню — игровое меню, о нём ниже (этот мод).
  8. Журнал — задания (Quests).

В других играх набор другой: например, RPG Plus добавляет лист персонажа.

Игровое меню

Иконка-шестерёнка открывает меню: Вернуться, Сохранить, Загрузить, Настройки, Главное меню и Выход. В сценах, где сохранение запрещено, пункт «Сохранить» неактивен — как на скриншоте. «Загрузить», «Сохранить» и «Настройки» открывают те же окна, что и в главном меню.

Игровое меню поверх сцены: Menu, Resume, Save, Load, Settings, Main menu, Exit.

Уведомления

В левом верхнем углу появляются короткие сообщения: новая запись в журнале, подсказка от сюжета. Одновременно показывается до четырёх, каждое держится на экране около десяти секунд, остальные ждут своей очереди.

Уведомление под часами: «Осмотрись. В переулке что-то лежит.» — подсказка из пролога Cthangover.

Авторам модов

Добавить кнопку на панели инструментов и её панель можно записью ui в манифесте. Так Items добавляет сумку:

"ui": [
  {
    "id": "inventory",
    "kind": "panel",
    "slot": "ModBeforeUIPanel",
    "scene_path": "scenes/ui/inventory_panel.tscn",
    "button": { "icon": "bag", "locale": "ui/inventory/title", "index": 20 },
    "priority": 10
  }
]
  • button.index задаёт порядок иконок (карта 10, сумка 20, персонажи 30, навыки 40, меню 50, журнал 60, студия 90);
  • button.icon — имя иконки, button.locale — ключ перевода подсказки;
  • запись без button — панель или оверлей, который игра открывает сама: Crafting добавляет верстак как "kind": "overlay" в слот ModLastPanel и открывает его из сценариев.

Открыть панель из сценария можно действием ui.toggle_panel, а показать уведомление — командой notify:

notify "Новая запись в журнале."

Придерживайтесь общего стиля. Панели, собранные в коде, берут рамки, надписи, чипы и кнопки из набора виджетов (UiKit) и его токенов цвета и размера, поэтому новая панель сразу вписывается в игру и следует её теме.

Если что-то пошло не так

  1. На панели инструментов нет кнопки. Мод, который её добавляет, не входит в эту игру; проверьте состав игры в разделе Моды и коллекции.
  2. «Сохранить» неактивно. Текущая сцена не разрешает сохранение; перейдите в другое место и попробуйте снова. Авторы разрешают его строкой save_allowed: true в заголовке одного из сценариев сцены.
  3. Панель открывается пустой. Моду панели пока нечего показывать в этой игре — например, задания ещё не начались.