gohud

Por encima de la pantalla

← Widgets

GoDrawer — el panel lateral

GoSheet viene desde abajo, que es lo correcto para un teléfono sujeto en vertical. En una tableta o en un escritorio esa misma hoja tapa el juego; un panel lateral viene desde el lado en su lugar.

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

El panel llega hasta el borde de la pantalla, pero el contenido se queda dentro del área segura, o una esquina redondeada recorta la primera fila. LEFT significa la izquierda de la pantalla incluso en árabe; activa follow_text_direction cuando lo que importa es "el lado de inicio", y así se invierte en RTL.

GoPopover — la tarjeta anclada

GoPopover.open(slot, item_card(item))

Esto es la colocación anclada de GoSurface con la capa, el contenedor, el anclaje y el desmontaje ya conectados — las diez líneas que todos los juegos escriben una y otra vez. Solo hay uno abierto a la vez, porque las tarjetas apiladas entierran la pantalla y nadie sabe qué tarjeta pertenece a qué ranura. El velo de fondo es transparente: una tarjeta que has abierto para comparar equipo no debe oscurecer ese equipo.

No es un tooltip de hover. El tacto no tiene hover, así que cualquier cosa que solo un ratón pudiera revelar es invisible para la mitad de tus jugadores.

GoContextMenu — pulsación larga y clic derecho

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

PopupMenu ya viene en el motor. Lo que no viene es el gesto: medio segundo para abrirse, cancelado en el momento en que el dedo se mueve, así que desplazar una lista no abre nunca un menú. Pasa un Callable en vez de un array cuando las entradas dependan de a quién has pulsado.

Una pulsación larga necesita una segunda vía de entrada. Nadie descubre un gesto oculto — acompáñala con un botón visible (open_at()), un icono, o una marca guía en el primer arranque.

GoConsole — la consola de desarrollo

console.register("give", "Da un objeto: give <id> <cantidad>", give)
console.toggle()

Comandos de trucos y de depuración, con una paleta que filtra según escribes para que nadie tenga que memorizarlos, y un historial en las teclas de flecha. Se sitúa por encima de todo, así que puedes depurar sobre un diálogo.

Se niega a abrirse en una compilación de publicación. debug_only está activado por omisión; los comandos de trucos en manos de un jugador acaban con la economía de un juego el primer día.