GoDrawer — боковая панель
GoSheet приходит снизу, и для телефона в книжной ориентации это правильно. На планшете или
настольном компьютере тот же лист накрывает игру — там панель приходит сбоку.
bag.side = GoDrawer.Side.RIGHT
bag.open("Сумка")
Панель доходит до края экрана, а содержимое остаётся внутри безопасной области, иначе скруглённый угол
срежет первую строку. LEFT означает левый край экрана даже в арабском; включите
follow_text_direction, когда смысл именно в «стороне начала», и она перевернётся при письме справа налево.
GoPopover — карточка с привязкой
GoPopover.open(slot, item_card(item))
Это привязанное размещение GoSurface, где слой, поверхность, якорь и уборка уже связаны, — те
десять строк, которые каждая игра пишет снова и снова. Открыта всегда одна, потому что сложенные стопкой
карточки хоронят экран и понять, какая карточка какому слоту принадлежит, нельзя. Подложка прозрачная:
карточка, открытая, чтобы сравнить снаряжение, не должна это снаряжение затемнять.
GoContextMenu — долгое нажатие и правый клик
GoContextMenu.attach(item_slot, [
{"text": "Использовать", "action": use},
{"separator": true},
{"text": "Выбросить", "action": drop, "danger": true},
])
PopupMenu в движке уже есть. Чего нет — так это жеста: полсекунды до открытия, отмена
в тот момент, когда палец сдвинулся, поэтому прокрутка списка меню не вызывает никогда. Передайте
Callable вместо массива, когда пункты зависят от того, на что нажали.
⋯ (open_at()), иконку или обучающую подсказку при первом запуске.
GoConsole — консоль разработчика
console.register("give", "Выдать предмет: give <id> <count>", give)
console.toggle()
Читерские и отладочные команды, с палитрой, которая фильтрует по мере набора, чтобы их не приходилось запоминать, и с историей на клавишах со стрелками. Она лежит поверх всего, поэтому отлаживать можно и поверх диалога.
debug_only включён по умолчанию;
читерские команды в руках игрока кончают экономику игры в первый же день.