gohud

Por cima da tela

← Widgets

GoDrawer — o painel lateral

O GoSheet vem de baixo, o que é certo para um celular na vertical. Em um tablet ou em um desktop essa mesma folha cobre o jogo; um drawer vem do lado.

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

O painel chega até a borda da tela, mas o conteúdo fica dentro da área segura, senão um canto arredondado corta a primeira linha. LEFT significa esquerda da tela até em árabe; ligue o follow_text_direction quando o que importa é "o lado de início", e ele inverte em RTL.

GoPopover — o cartão ancorado

GoPopover.open(slot, item_card(item))

Isto é o posicionamento ancorado do GoSurface com a camada, a superfície, a âncora e o desmonte já ligados — as dez linhas que todo jogo escreve de novo e de novo. Um de cada vez fica aberto, porque cartões empilhados soterram a tela e ninguém consegue dizer qual cartão pertence a qual slot. O véu é transparente: um cartão que você abriu para comparar equipamentos não pode escurecer os equipamentos.

Não é uma dica de passar o mouse. Toque não tem hover, então tudo o que só um mouse consegue revelar é invisível para metade dos seus jogadores.

GoContextMenu — toque longo e clique direito

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

O PopupMenu já vem na engine. O que não vem é o gesto: meio segundo para abrir, cancelado no instante em que o dedo se move, então rolar uma lista nunca abre um menu. Passe um Callable em vez de um array quando os itens dependem de quem você pressionou.

Um toque longo precisa de um segundo caminho. Ninguém descobre um gesto escondido — combine-o com um botão visível (open_at()), um ícone, ou um coach mark de primeira execução.

GoConsole — o console de desenvolvimento

console.register("give", "Dar um item: give <id> <quantidade>", give)
console.toggle()

Comandos de cheat e de depuração, com uma paleta que filtra conforme você digita, então ninguém precisa decorá-los, e um histórico nas setas do teclado. Ele fica acima de tudo, então dá para depurar por cima de um diálogo.

Ele se recusa a abrir em uma build de release. O debug_only vem ligado por padrão; comandos de cheat nas mãos de um jogador acabam com a economia de um jogo no primeiro dia.