gohud

Por cima da tela

← Widgets

GoDrawer — o painel lateral

GoDrawer — Um painel que desliza da esquerda ou da direita.
Side.LEFT
GoDrawer — Um painel que desliza da esquerda ou da direita.
Side.RIGHT

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 — Um cartão de informação ao lado do que foi tocado; um por vez.
GoPopover
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 — Menu com toque longo ou clique direito; um dedo que se move o cancela.
GoContextMenu
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

GoConsole — Um console de desenvolvedor com comandos e histórico; desligado nas builds de lançamento.
GoConsole
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.