Forme note dal web, ricostruite attorno a ciò che un gioco chiede loro.
GoRewardCalendar — presenze giornaliere
Un selettore di date non serve quasi mai in un gioco. La forma di un calendario sì — per i premi presenza, dove quello che conta è a che giorno sei arrivato, non che data sia.
var attendance := GoRewardCalendar.make(days, claimed_until)
attendance.claimed.connect(func(day: int) -> void: server.claim_day(day))
Si può premere solo la cella di oggi — un pulsante che premuto non fa nulla si legge come rotto. Riscosso, oggi e futuro si distinguono per tre cose insieme: un glifo di spunta, un bordo d'accento e l'attenuazione.
GoRadar e GoDonut — le statistiche a colpo d'occhio
var stats := GoRadar.make({"STR": 0.85, "AGI": 0.5, "INT": 0.3, "VIT": 0.7, "LUK": 0.45})
stats.set_compare(with_new_sword) # una sovrapposizione tratteggiata
var share := GoDonut.make([{"label": "Fisico", "value": 620}, {"label": "Magico", "value": 340}])
card.add_child(share.legend())
I valori del radar vanno da 0 a 1 perché che cosa sia il pieno lo decide il gioco — 120 STR grezzi accanto a 45 INT disegnerebbero una bugia. I valori della ciambella sono grezzi ed è lei a fare la divisione al posto tuo; oltre cinque fette raggruppa il resto, perché una sesta fetta è un filo che nessuno riesce a leggere. La linea di confronto è tratteggiata, non solo di un altro colore, e la legenda scrive la percentuale a parole.
GoCarousel — banner e selezione del personaggio
banners.set_pages([promo, event, pack])
banners.autoplay_seconds = 5.0 # disattivato per impostazione predefinita
Non avanza da sé se non glielo chiedi, e cinque secondi sono il minimo: un banner che cambia ogni tre porta via
il testo prima che sia stato letto. Toccarlo azzera il timer, e con reduce_motion attivo non avanza mai da
solo. I puntini si premono al minimo di tocco anche se il puntino disegnato è piccolo.
GoKbd — suggerimenti dei tasti che non mentono
hint.add_child(GoKbd.for_action(&"interact")) # legge l'associazione vera
Un "Premi F" scritto a mano continua a dire F dopo che chi gioca ha rimappato i tasti — la bugia più comune in un'interfaccia da PC.
for_action() legge InputMap; se invece l'azione è associata a un pad, restituisce
una stringa vuota e il widget si nasconde, perché "Nessuno" sarebbe una bugia a sua volta. Su Android e iOS si nasconde da sé.