6.0 KiB
UI — общий интерфейс всех игр
UI — общий для всех игр слой интерфейса: панель инструментов в правом верхнем углу, игровое меню, индикатор сохранения, уведомления в левом верхнем углу, просмотр фона и единый вид панелей, кнопок и списков. Собственной истории и правил у него нет. Почти все остальные моды строятся поверх него — поэтому UI есть в каждой игре и значится в зависимостях у огромного числа модов.
Панель инструментов
Каждая иконка открывает свою панель. Набор кнопок не фиксирован: свой добавляет каждый мод игры, поэтому в новелле без предметов не будет сумки, а в игре со Scenario Studio появится ещё одна иконка.
В Cthangover слева направо:
- Инструменты — меню инструментов разработчика (только когда в игре есть редакторы).
- Карта — карта мира (Map Engine).
- Сумка — инвентарь (Items).
- Персонажи — отряд и персонажи (Characters).
- Рекруты — завербованные персонажи (Recruiting).
- Навыки — навыки (Skills).
- Меню — игровое меню, о нём ниже (этот мод).
- Журнал — задания (Quests).
В других играх набор другой: например, RPG Plus добавляет лист персонажа.
Игровое меню
Иконка-шестерёнка открывает меню: Вернуться, Сохранить, Загрузить, Настройки, Главное меню и Выход. В сценах, где сохранение запрещено, пункт «Сохранить» неактивен — как на скриншоте. «Загрузить», «Сохранить» и «Настройки» открывают те же окна, что и в главном меню.
Уведомления
В левом верхнем углу появляются короткие сообщения: новая запись в журнале, подсказка от сюжета. Одновременно показывается до четырёх, каждое держится на экране около десяти секунд, остальные ждут своей очереди.
Авторам модов
Добавить кнопку на панели инструментов и её панель можно записью 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) и его токенов цвета и размера, поэтому новая панель сразу вписывается в игру и следует её теме.
Если что-то пошло не так
- На панели инструментов нет кнопки. Мод, который её добавляет, не входит в эту игру; проверьте состав игры в разделе Моды и коллекции.
- «Сохранить» неактивно. Текущая сцена не разрешает сохранение; перейдите в другое место и попробуйте снова. Авторы разрешают его строкой
save_allowed: trueв заголовке одного из сценариев сцены. - Панель открывается пустой. Моду панели пока нечего показывать в этой игре — например, задания ещё не начались.



