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.
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.
⋯ 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.
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.