gohud

Очікування, сповіщення, лічильники

← Віджети

GoSnackbar — повідомлення, яке саме себе розміщує

Сидить унизу (або вгорі), над безпечною зоною та клавіатурою, і йде собі сам. Без нього ви пишете шар, розміщення, таймер і прибирання на кожному екрані, який має сказати «збережено».

snack.show_text("Збережено", GoTheme.SUCCESS)

# Нагода скасувати — 0 це перша кнопка, -1 означає, що час вийшов
if await snack.post({"text": "Річ викинуто", "actions": ["Скасувати"]}) == 0:
    restore_item()

Повідомлення стають у чергу, а не затирають одне одного, і повтори того самого рядка зливаються — сервер, що падає чотири рази на секунду, більше не складає чотирьох хвилин сповіщень. Снекбар без кнопки пропускає ввід, тож гра під ним іде далі.

Це не місце, щоб щось питати. Воно зникає само, тож гравець може його й не побачити. Незворотні підтвердження належать до GoDialogs. Кнопки тут мають бути необов'язкові — «Скасувати», «Докладніше», «Повторити».

GoNotice — друга половина пари: він ніколи не бере ні вводу, ні фокуса, а куди він потрапить, вирішує екран-власник. Він не може тримати кнопку; цей може.

GoSpinner — очікування, кінця якому не видно

Іграм, що розмовляють із сервером, це потрібне більше за все інше на цій сторінці: нерухомий екран читається як збій. Один виклик перетворює натиснуту кнопку на спінер на її ж місці.

GoSpinner.busy(buy_button, true)
var ok := await server.purchase(item)
GoSpinner.busy(buy_button, false)

Кнопка зберігає свій розмір — напис стає прозорим, а не зникає, тож ряд не стрибає, — і вона вимкнена, поки крутиться. Саме друге тут головне: покупка не повинна спрацювати двічі, поки ви робите await. З увімкненим reduce_motion він не крутиться; натомість пульсують три крапки.

Поступ, який можна виміряти, — це GoBar. Спінер нічого не обіцяє про те, коли скінчиться.

GoBadge — крапка непрочитаного, позначка «НОВЕ», оте 99+

GoBadge.attach(mail_button, unread_count)   # на нулі ховається сам
GoBadge.attach(shop_button, 0, "НОВЕ")
GoBadge.attach(friend_button, 3, "", true) # крапка — «щось там є»

Він чіпляється якорями до верхнього правого кута господаря, тож іде за ним навіть тоді, коли розмір господаря визначиться пізніше, а повторне чіпляння повертає той самий бейдж. Беріть число, коли кількість змінює те, що робитиме гравець, і крапку, коли важить лише «щось там є».

Колір його тексту добирається за контрастом до того кольору, яким пофарбував бейдж скін, — білий ніколи не береться на віру, — і він несе доступну назву, бо кольорова крапка нічого не каже екранному читачеві.