gohud

Par-dessus l'écran

← Widgets

GoDrawer — le panneau latéral

GoSheet vient du bas, ce qui convient à un téléphone tenu à la verticale. Sur une tablette ou un ordinateur, la même feuille recouvre le jeu ; un tiroir vient du côté à la place.

bag.side = GoDrawer.Side.RIGHT
bag.open("Sac")

Le panneau va jusqu'au bord de l'écran, mais le contenu reste à l'intérieur de la zone sûre, sinon un coin arrondi rogne la première rangée. LEFT veut dire la gauche de l'écran, même en arabe ; activez follow_text_direction quand c'est « le côté du début » qui compte, et il bascule en RTL.

GoPopover — la carte épinglée

GoPopover.open(slot, item_card(item))

C'est le placement épinglé de GoSurface avec le calque, la surface, l'ancre et la libération déjà câblés — les dix lignes que chaque jeu réécrit encore et encore. Une seule est ouverte à la fois, parce que des cartes empilées enterrent l'écran et plus personne ne sait quelle carte appartient à quel emplacement. Le voile est transparent : une carte ouverte pour comparer un équipement ne doit pas assombrir cet équipement.

Ce n'est pas une infobulle au survol. Le tactile n'a pas de survol : tout ce que seule une souris pourrait révéler est invisible pour la moitié de vos joueurs.

GoContextMenu — appui long et clic droit

GoContextMenu.attach(item_slot, [
    {"text": "Utiliser", "action": use},
    {"separator": true},
    {"text": "Jeter", "action": drop, "danger": true},
])

PopupMenu est déjà dans le moteur. Ce qui n'y est pas, c'est le geste : une demi-seconde pour ouvrir, annulé dès que le doigt bouge, si bien que faire défiler une liste ne fait jamais surgir de menu. Passez un Callable au lieu d'un tableau quand les entrées dépendent de ce sur quoi on a appuyé.

Un appui long a besoin d'une seconde porte d'entrée. Personne ne découvre un geste caché — accompagnez-le d'un bouton visible (open_at()), d'une icône ou d'un repère guidé au premier lancement.

GoConsole — la console de développement

console.register("give", "Donner un objet : give <id> <quantité>", give)
console.toggle()

Des commandes de triche et de débogage, avec une palette qui filtre à mesure que vous tapez pour que personne n'ait à les mémoriser, et un historique sur les touches fléchées. Elle se place au-dessus de tout : vous pouvez déboguer par-dessus une boîte de dialogue.

Elle refuse de s'ouvrir dans une version de production. debug_only est actif par défaut ; des commandes de triche entre les mains d'un joueur achèvent l'économie d'un jeu dès le premier jour.