gohud

Todos os widgets

Todos os widgets e layouts do gohud, por nome, com um exemplo para colar. Cada um assume a aparência do preset ativo. ← Widgets

Layout (15)

GoScaffold

GoScaffold — Uma tela de app já conectada: barra, página rolável, barra inferior, FAB e gaveta.

Uma tela de app já conectada: barra, página rolável, barra inferior, FAB e gaveta.

estende Control

var page := GoStyle.column()
var screen := GoScaffold.make("Inbox", page, true)
screen.set_fab(GoFab.make(GoIconSet.EDIT))
add_child(screen)

GoTopBar

GoTopBar — Itens na borda superior em uma a três posições; o centro fica centralizado.

Itens na borda superior em uma a três posições; o centro fica centralizado.

estende GoEdgeBar

var bar := GoTopBar.make(3)
bar.add_start(GoStyle.icon_button(GoIconSet.BACK, go_back, -1, &"back"))
bar.add_center(GoStyle.label("Stage 3"))
bar.add_end(GoStyle.chip("1,250"))

GoBottomBar

GoBottomBar — Itens na borda inferior, longe da barra de gestos.

Itens na borda inferior, longe da barra de gestos.

estende GoEdgeBar

var actions := GoBottomBar.make(1, GoBottomBar.Justify.SPACE_BETWEEN)
for name in ["Attack", "Guard", "Run"]: actions.add_start(GoStyle.button(name))
screen.add_child(actions)

GoLeftSideBar

GoLeftSideBar — Até três níveis ao longo da borda esquerda.

Até três níveis ao longo da borda esquerda.

estende GoSideBar

var tools := GoLeftSideBar.make(3)
tools.add_start(GoStyle.icon_button(GoIconSet.MENU, open_menu, -1, &"menu"))
tools.add_end(GoStyle.icon_button(GoIconSet.USER, open_profile, -1, &"profile"))
screen.add_child(tools)

GoRightSideBar

GoRightSideBar — Até três níveis ao longo da borda direita.

Até três níveis ao longo da borda direita.

estende GoSideBar

var tools := GoRightSideBar.make(3)
tools.add_start(GoStyle.icon_button(GoIconSet.SETTINGS, open_settings, -1, &"settings"))
tools.add_center(GoStyle.icon_button(GoIconSet.SEARCH, find, -1, &"search"))
screen.add_child(tools)

GoSideBar

GoSideBar — A barra lateral base das duas; mantém o lado em idiomas da direita para a esquerda.

A barra lateral base das duas; mantém o lado em idiomas da direita para a esquerda.

estende GoEdgeBar

var rail := GoRightSideBar.make(1, GoSideBar.Justify.CENTER)
rail.add_start(GoStyle.icon_button(GoIconSet.MAP, open_map, -1, &"map"))

GoEdgeBar

GoEdgeBar — As regras que todas as barras de borda compartilham: posições, distribuição, fixação na borda e área segura.

As regras que todas as barras de borda compartilham: posições, distribuição, fixação na borda e área segura.

estende Container

var bar := GoTopBar.make(1)
bar.justify = GoEdgeBar.Justify.SPACE_BETWEEN
bar.pin_to_edge = GoEdgeBar.Pin.ALWAYS

GoGrid

GoGrid — Colunas de largura exatamente igual: um número fixo ou quantas couberem.

Colunas de largura exatamente igual: um número fixo ou quantas couberem.

estende Container

var cards := GoGrid.make(1, 160.0)
for item in items: cards.add_child(GoStyle.item_card(item))

GoForm

GoForm — Um formulário que limita a largura e se afasta do teclado e do HUD.

Um formulário que limita a largura e se afasta do teclado e do HUD.

estende MarginContainer

var form := GoForm.new()
form.avoid_hud = true
form.add_child(GoScroll.new())
add_child(form)

GoScroll

GoScroll — Rolagem por toque que funciona em qualquer ponto do conteúdo; suporta idiomas da direita para a esquerda.

Rolagem por toque que funciona em qualquer ponto do conteúdo; suporta idiomas da direita para a esquerda.

estende ScrollContainer

var list := GoScroll.new()
list.add_child(GoStyle.column())
var strip := GoScroll.horizontal()

GoHudAnchor

GoHudAnchor — Fixa peças do HUD em um de nove pontos da área segura.

Fixa peças do HUD em um de nove pontos da área segura.

estende Control

var corner := GoHudAnchor.new()
corner.spot = GoHudAnchor.Spot.TOP_LEFT
corner.add_child(GoStyle.hud_panel())

GoStyle.column · row · wrap_row

GoStyle.column · row · wrap_row — Colunas, linhas e linhas que quebram, com espaçamentos do tema.

Colunas, linhas e linhas que quebram, com espaçamentos do tema.

função de GoStyle

var page := GoStyle.column()
var line := GoStyle.row()
var chips := GoStyle.wrap_row()

GoStyle.responsive_grid · aspect

GoStyle.responsive_grid · aspect — Uma grade que ganha colunas ao alargar e uma caixa que mantém a proporção.

Uma grade que ganha colunas ao alargar e uma caixa que mantém a proporção.

função de GoStyle

var tiles := GoStyle.responsive_grid(160)
var thumb := GoStyle.aspect(16.0 / 9.0)

GoStyle.padding · spacer · divider

GoStyle.padding · spacer · divider — Preenchimento, um espaçador que ocupa o espaço que sobra e uma linha divisória.

Preenchimento, um espaçador que ocupa o espaço que sobra e uma linha divisória.

função de GoStyle

var pad := GoStyle.padding(16)
line.add_child(GoStyle.spacer())
page.add_child(GoStyle.divider())

GoStyle.foldable · section

GoStyle.foldable · section — Um título de seção e uma seção que se expande.

Um título de seção e uma seção que se expande.

função de GoStyle

page.add_child(GoStyle.section("Sound", false))
var more := GoStyle.foldable("Advanced", true, null, false)

Janelas e sobreposições (12)

GoSurface

GoSurface — Uma janela flutuante: centralizada, vinda de baixo ou ancorada a um controle.

Uma janela flutuante: centralizada, vinda de baixo ou ancorada a um controle.

estende Control

var window := GoSurface.new()
window.set_title("Settings")
window.close_requested.connect(window.queue_free)
layer.add_child(window)

GoSheet

GoSheet — Uma folha inferior com páginas, navegação de voltar e rodapé fixo.

Uma folha inferior com páginas, navegação de voltar e rodapé fixo.

estende CanvasLayer

var sheet := GoSheet.new()
add_child(sheet)
sheet.open("Inventory")
sheet.body.add_child(bag_list)

GoPage

Uma página em tela cheia com trilho de categorias (à esquerda na horizontal, abas no topo na vertical), prévia, voltar e subpáginas empilhadas dentro dela.

estende CanvasLayer

var page := GoPage.new()
add_child(page)
page.open("Settings")
page.set_tabs([{id = &"sound", label = "Sound", icon = GoIconSet.VOLUME_HIGH, badge = ""}])
page.push("About", func(box: VBoxContainer) -> void: box.add_child(GoStyle.label("Version 1.0")))

GoDialogs

GoDialogs — Janelas de confirmação e alerta que você aguarda com await; os alertas esperam a vez.

Janelas de confirmação e alerta que você aguarda com await; os alertas esperam a vez.

estende Node

var dialogs := GoDialogs.new()
add_child(dialogs)
if await dialogs.confirm("Delete save", "This cannot be undone.", "", "", "", {}, true):
	delete_save()

GoDialogs.choose

GoDialogs.choose — Uma entre poucas opções: folha inferior no celular, cartão no desktop.

Uma entre poucas opções: folha inferior no celular, cartão no desktop.

função de GoDialogs

var index := await dialogs.choose("Sort by", ["Newest", "Price", "Rating"])
if index >= 0: sort_by(index)

GoDrawer

GoDrawer — Um painel que desliza da esquerda ou da direita.

Um painel que desliza da esquerda ou da direita.

estende CanvasLayer

var drawer := GoDrawer.new()
add_child(drawer)
drawer.side = GoDrawer.Side.RIGHT
drawer.open("Bag")

GoPopover

GoPopover — Um cartão de informação ao lado do que foi tocado; um por vez.

Um cartão de informação ao lado do que foi tocado; um por vez.

estende RefCounted

GoPopover.open(slot, GoStyle.item_card(item, false))

GoContextMenu

GoContextMenu — Menu com toque longo ou clique direito; um dedo que se move o cancela.

Menu com toque longo ou clique direito; um dedo que se move o cancela.

estende RefCounted

GoContextMenu.attach(slot, [{"text": "Use"}, {"text": "Drop", "danger": true}])

GoCoachMark

GoCoachMark — Um tour guiado que aponta para controles reais.

Um tour guiado que aponta para controles reais.

estende Control

var tour := GoCoachMark.new()
add_child(tour)
tour.start([{"target": bag_button, "title": "Bag", "body": "Your items live here."}])

GoConsole

GoConsole — Um console de desenvolvedor com comandos e histórico; desligado nas builds de lançamento.

Um console de desenvolvedor com comandos e histórico; desligado nas builds de lançamento.

estende CanvasLayer

var console := GoConsole.new()
add_child(console)
console.register("give", "Grant an item", give_item)

GoRibbonHeader

A fita de título de uma tela, pendurada sobre a borda superior do cartão, com um glifo e o desenho de canto do visual.

estende Control

var header := GoRibbonHeader.make("PAUSED", GoIconSet.PAUSE)
card_column.add_child(header)

GoFitBox

Mantém um cartão inteiro na tela, encolhendo-o com a fita quando é grande demais; uma lista longa rola.

estende Container

var fit := GoFitBox.new()
fit.add_child(card)

Mensagens e espera (12)

GoSnackbar

GoSnackbar — Uma mensagem na parte de baixo que entra na fila e pode ter botões.

Uma mensagem na parte de baixo que entra na fila e pode ter botões.

estende Node

var snack := GoSnackbar.new()
add_child(snack)
if await snack.post({"text": "Item dropped", "actions": ["Undo"]}) == 0:
	restore_item()

GoNotice

GoNotice — Um aviso que nunca toma a entrada nem o foco.

Um aviso que nunca toma a entrada nem o foco.

estende PanelContainer

var notice := GoNotice.new()
hud.add_child(notice)
notice.show_text("Saved", GoTheme.SUCCESS)

GoPromptCard

GoPromptCard — Uma pergunta que não para o jogo: um convite, uma troca.

Uma pergunta que não para o jogo: um convite, uma troca.

estende PanelContainer

var invite := GoPromptCard.new()
invite.set_title("Party invite from Ann")
invite.set_actions([{"text": "Accept", "action": accept, "primary": true}])

GoBanner

GoBanner — Uma mensagem que fica na página até ser resolvida.

Uma mensagem que fica na página até ser resolvida.

estende PanelContainer

var offline := GoBanner.make("You're offline.", [{"text": "Retry", "action": reconnect}], GoIconSet.WARNING)
page.add_child(offline)

GoSpinner

GoSpinner — Uma espera; transforma um botão em indicador no lugar, para não ser tocado duas vezes.

Uma espera; transforma um botão em indicador no lugar, para não ser tocado duas vezes.

estende Control

GoSpinner.busy(buy_button, true)
await shop.buy(item)
GoSpinner.busy(buy_button, false)

GoBadge

GoBadge — O ponto de não lido, a etiqueta NEW e o 99+, presos num canto.

O ponto de não lido, a etiqueta NEW e o 99+, presos num canto.

estende PanelContainer

GoBadge.attach(mail_button, unread)
GoBadge.attach(shop_button, 0, "NEW")

GoProgress

GoProgress — Progresso em linha ou anel, ondulado ou plano; indeterminado enquanto o tamanho é desconhecido.

Progresso em linha ou anel, ondulado ou plano; indeterminado enquanto o tamanho é desconhecido.

estende Control

var upload := GoProgress.linear()
upload.value = 0.4
var ring := GoProgress.circular(true)

GoLoadingIndicator

GoLoadingIndicator — A marca de espera do Material 3 Expressive que muda de forma; parada com reduce_motion.

A marca de espera do Material 3 Expressive que muda de forma; parada com reduce_motion.

estende Control

var wait := GoLoadingIndicator.new()
wait.contained = true
page.add_child(wait)

GoRefresh

GoRefresh — Puxe a lista para baixo no topo para recarregá-la.

Puxe a lista para baixo no topo para recarregá-la.

estende Control

var refresh := GoRefresh.attach(feed)
refresh.refresh_requested.connect(func() -> void:
	await reload_posts()
	refresh.finish())

GoStyle.alert

GoStyle.alert — Uma mensagem em linha no tom de informação, sucesso, aviso ou perigo.

Uma mensagem em linha no tom de informação, sucesso, aviso ou perigo.

função de GoStyle

page.add_child(GoStyle.alert("Maintenance at 3 AM", GoTheme.WARNING))

GoStyle.skeleton · empty_state

GoStyle.skeleton · empty_state — Um marcador enquanto carrega e uma mensagem para uma lista vazia.

Um marcador enquanto carrega e uma mensagem para uma lista vazia.

função de GoStyle

page.add_child(GoStyle.skeleton(200))
page.add_child(GoStyle.empty_state(GoIconSet.BOX, "No items yet", false))

GoStyle.tooltip_node

GoStyle.tooltip_node — Uma dica com o estilo do tema que nunca quebra as palavras.

Uma dica com o estilo do tema que nunca quebra as palavras.

função de GoStyle

func _make_custom_tooltip(text: String) -> Object:
	return GoStyle.tooltip_node(text)

Botões, chips e escolhas (10)

GoStyle.button

GoStyle.button — Botões em sete tons: normal, principal, contorno, texto, compacto, perigo e perigo preenchido.

Botões em sete tons: normal, principal, contorno, texto, compacto, perigo e perigo preenchido.

função de GoStyle

row.add_child(GoStyle.button("Play", play, GoStyle.Tone.PRIMARY))
row.add_child(GoStyle.button("Details", open_details, GoStyle.Tone.OUTLINED))
row.add_child(GoStyle.button("Skip", skip, GoStyle.Tone.BARE))

GoStyle.glow

GoStyle.glow — Eleva um botão preenchido com um brilho.

Eleva um botão preenchido com um brilho.

função de GoStyle

row.add_child(GoStyle.glow(GoStyle.button("Play", play, GoStyle.Tone.PRIMARY)))

GoIconButton

GoIconButton — Um botão só de ícone: pequeno à vista, 48 dp ao toque, com nome para leitores de tela.

Um botão só de ícone: pequeno à vista, 48 dp ao toque, com nome para leitores de tela.

estende Button

row.add_child(GoStyle.icon_button(GoIconSet.CLOSE, close, -1, &"close"))
var bell := GoIconButton.new()
bell.icon_name = GoIconSet.BELL

GoGlyphButton

Um botão com um glifo ao lado do rótulo: a pílula brilhante de um menu de arcade.

estende Button

row.add_child(GoGlyphButton.make("Play", GoIconSet.PLAY, GoTheme.VAR_PRIMARY_BUTTON))

GoStyle.chip

GoStyle.chip — Uma pílula de status ou etiqueta cujo texto sempre se lê.

Uma pílula de status ou etiqueta cujo texto sempre se lê.

função de GoStyle

row.add_child(GoStyle.chip("Rare", GoUi.color(GoTheme.INFO)))

GoStyle.filter_chip · input_chip

GoStyle.filter_chip · input_chip — Um chip que liga e desliga, e um valor digitado com um ✕.

Um chip que liga e desliga, e um valor digitado com um ✕.

função de GoStyle

filters.add_child(GoStyle.filter_chip("In stock", false, refilter))
to.add_child(GoStyle.input_chip("Ann", remove_ann, GoIconSet.USER))

GoStyle.segmented

GoStyle.segmented — Exatamente uma entre poucas opções, unidas numa linha.

Exatamente uma entre poucas opções, unidas numa linha.

função de GoStyle

page.add_child(GoStyle.segmented(["Day", "Week", "Month"], 0, show_range))

GoStyle.choice_grid

GoStyle.choice_grid — Escolha uma amostra — uma cor, uma skin — de uma grade.

Escolha uma amostra — uma cor, uma skin — de uma grade.

função de GoStyle

var skins := GoStyle.choice_grid([{"color": "f6cfae", "tooltip": "Peach"},
	{"color": "8d5a36", "tooltip": "Cocoa"}], 0, pick_skin)

GoStyle.radio_group

GoStyle.radio_group — Botões de opção, dos quais um é escolhido.

Botões de opção, dos quais um é escolhido.

função de GoStyle

page.add_child(GoStyle.radio_group(["Easy", "Normal", "Hard"], 1))

GoStyle.toggle · checkbox

GoStyle.toggle · checkbox — Um interruptor e uma caixa de seleção com rótulos.

Um interruptor e uma caixa de seleção com rótulos.

função de GoStyle

var music := GoStyle.toggle("Music", false)
var terms := GoStyle.checkbox("I agree to the terms", false)

Entradas e seletores (14)

GoStyle.line_edit · textarea

GoStyle.line_edit · textarea — Um campo de texto de uma linha e outro de várias.

Um campo de texto de uma linha e outro de várias.

função de GoStyle

var nickname := GoStyle.line_edit("Your name")
var note := GoStyle.textarea("Message", 4)

GoField

GoField — Rótulo, controle e dica, com o erro sob o campo errado.

Rótulo, controle e dica, com o erro sob o campo errado.

estende VBoxContainer

var field := GoField.make("Nickname", GoStyle.line_edit(), "3–12 letters", false)
field.set_error("That name is taken")

GoInputGroup

GoInputGroup — Uma entrada e seus botões soldados em uma só forma.

Uma entrada e seus botões soldados em uma só forma.

estende HBoxContainer

var chat := GoInputGroup.make(GoStyle.line_edit("Message"), {"suffix": GoStyle.button("Send", send)})

GoCombobox

GoCombobox — Um seletor que busca dentro dos nomes, não só no início.

Um seletor que busca dentro dos nomes, não só no início.

estende Button

var friend := GoCombobox.make(friends, -1, "Find a friend")
friend.picked.connect(invite)

GoCodeInput

GoCodeInput — Códigos de cupom e presente em células; colar e a digitação por IME continuam funcionando.

Códigos de cupom e presente em células; colar e a digitação por IME continuam funcionando.

estende VBoxContainer

var coupon := GoCodeInput.make(12, 4)
coupon.completed.connect(redeem)

GoStyle.select · dropdown

GoStyle.select · dropdown — Uma lista suspensa e um botão que abre um menu.

Uma lista suspensa e um botão que abre um menu.

função de GoStyle

var quality := GoStyle.select(["Low", "Medium", "High"])
var sort := GoStyle.dropdown("Sort", ["Newest", "Price"], sort_by)

GoStyle.slider

GoStyle.slider — Um controle deslizante com o formato do tema.

Um controle deslizante com o formato do tema.

função de GoStyle

var volume := GoStyle.slider(0.0, 1.0, 0.05)
volume.value_changed.connect(set_volume)

GoRangeSlider

GoRangeSlider — Duas alças que nunca se cruzam: uma faixa de preço ou de nível.

Duas alças que nunca se cruzam: uma faixa de preço ou de nível.

estende Control

var price := GoRangeSlider.make(0.0, 500.0, 40.0, 220.0, 10.0)
price.change_ended.connect(func(low: float, high: float) -> void: refilter(low, high))

GoSlider

Um controle deslizante pintado: o preenchimento passa um pouco da alça, que cresce ao ser segurada.

estende HSlider

var music := GoSlider.make(0.0, 1.0, 0.01)
music.theme_type_variation = &"GoSliderGreen"

GoSwitch

Um interruptor pintado, com ON / OFF ao lado do botão.

estende CheckButton

var vibration := GoSwitch.make(true)
vibration.set_texts(tr("ON"), tr("OFF"))

GoDatePicker

GoDatePicker — Um mês para tocar; um intervalo de dias com range_mode.

Um mês para tocar; um intervalo de dias com range_mode.

estende Container

var stay := GoDatePicker.make()
stay.range_mode = true
stay.range_picked.connect(func(start: Dictionary, end: Dictionary) -> void: book(start, end))

GoTimePicker

GoTimePicker — O mostrador do relógio: a hora, depois os minutos; 12 ou 24 horas; Cima e Baixo numa caixa.

O mostrador do relógio: a hora, depois os minutos; 12 ou 24 horas; Cima e Baixo numa caixa.

estende Container

var alarm := GoTimePicker.make(7, 30, func(hour: int, minute: int) -> void: set_alarm(hour, minute))
alarm.use_24h = true

GoWheelPicker

GoWheelPicker — Uma roda que gira e assenta um item na sua faixa.

Uma roda que gira e assenta um item na sua faixa.

estende Control

var amount := GoWheelPicker.make(["x1", "x5", "x10", "x50"], 0, set_amount)
row.add_child(amount)

GoStepper

GoStepper — Etapas numeradas com Próximo e Voltar, na vertical ou em linha.

Etapas numeradas com Próximo e Voltar, na vertical ou em linha.

estende VBoxContainer

var checkout := GoStepper.make([{"title": "Cart", "content": cart}, {"title": "Pay", "content": pay}])
checkout.finished.connect(place_order)

Listas, cartões e dados (8)

GoStyle.list_row · list_button

GoStyle.list_row · list_button — Uma linha de lista com ícone, título, resumo e marca no fim.

Uma linha de lista com ícone, título, resumo e marca no fim.

função de GoStyle

page.add_child(GoStyle.list_button(GoIconSet.SETTINGS, "Settings", open_settings, Color.TRANSPARENT, "", false))

GoListView

GoListView — Milhares de linhas; só as visíveis são criadas.

Milhares de linhas; só as visíveis são criadas.

estende GoScroll

var feed := GoListView.make(10000, 72.0, func(index: int) -> Control: return post_row(posts[index]))
feed.end_reached.connect(load_more)

GoReorderList

GoReorderList — Linhas que você reordena arrastando por uma alça ou com toque longo.

Linhas que você reordena arrastando por uma alça ou com toque longo.

estende Container

var queue := GoReorderList.make([intro_row, theme_row, boss_row])
queue.reordered.connect(func(from: int, to: int) -> void: songs.insert(to, songs.pop_at(from)))

GoSwipeRow

GoSwipeRow — Uma linha que você desliza para apagar ou arquivar; a lista continua rolando.

Uma linha que você desliza para apagar ou arquivar; a lista continua rolando.

estende Container

inbox.add_child(GoSwipeRow.wrap(mail_row, {"icon": GoIconSet.TRASH, "text": "Delete",
	"tone": GoTheme.DANGER, "action": delete_mail}))

GoTable

GoTable — Cabeçalhos ordenáveis e linhas selecionáveis; números se ordenam como números.

Cabeçalhos ordenáveis e linhas selecionáveis; números se ordenam como números.

estende VBoxContainer

var board := GoTable.make(["Name", {"text": "Score", "numeric": true}], [["Ann", 9124], ["Ben", 91240]])
board.row_selected.connect(open_profile)

GoStyle.card · item_card

GoStyle.card · item_card — Um cartão e o cartão de detalhes de um item escolhido.

Um cartão e o cartão de detalhes de um item escolhido.

função de GoStyle

var card := GoStyle.card()
card.add_child(GoStyle.label("Daily quest"))
popup.add_child(GoStyle.item_card({"title": "Rusty sword", "subtitle": "Common"}))

GoStyle.avatar

GoStyle.avatar — Iniciais ou uma imagem num disco.

Iniciais ou uma imagem num disco.

função de GoStyle

row.add_child(GoStyle.avatar("AK", 40))

GoStyle.label

GoStyle.label — Texto em um de sete papéis tipográficos, de micro a título.

Texto em um de sete papéis tipográficos, de micro a título.

função de GoStyle

page.add_child(GoStyle.label("Level 12", GoTheme.ROLE_TITLE))
page.add_child(GoStyle.label("Next level in 340 XP", GoTheme.ROLE_CAPTION, GoUi.color(GoTheme.MUTED)))

HUD e formas de jogo (30)

GoBar

GoBar — Barras de HP, MP e XP com valor, fração ou porcentagem.

Barras de HP, MP e XP com valor, fração ou porcentagem.

estende Control

var hp := GoBar.new()
hp.label_text = "HP"
hp.set_values(320, 500)

GoSlot

GoSlot — Um slot rápido: ícone, quantidade, recarga e atalho numa só face.

Um slot rápido: ícone, quantidade, recarga e atalho numa só face.

estende Button

var potion := GoSlot.new()
potion.icon_name = GoIconSet.POTION
potion.quantity = 12
potion.start_cooldown(5.0)

GoSlotGrid

GoSlotGrid — Uma grade de inventário; os itens podem ser arrastados entre células.

Uma grade de inventário; os itens podem ser arrastados entre células.

estende HFlowContainer

var bag := GoSlotGrid.new()
bag.set_cell(0, {"icon": GoIconSet.POTION, "quantity": 12})

GoJoystick

GoJoystick — Um analógico virtual: fixo, seguindo o polegar ou relativo.

Um analógico virtual: fixo, seguindo o polegar ou relativo.

estende Control

var pad := GoJoystick.new()
pad.mode = GoJoystick.Mode.FOLLOW
pad.moved.connect(func(direction: Vector2) -> void: player.move(direction))

GoKbd

GoKbd — Teclas que leem a atribuição real, então remapear nunca faz a dica mentir.

Teclas que leem a atribuição real, então remapear nunca faz a dica mentir.

estende HBoxContainer

hint.add_child(GoKbd.for_action(&"interact"))

GoChoiceColumn

GoChoiceColumn — Uma coluna curta de opções tocadas uma vez — uma lista de invocação; o jogo marca quantas linhas quiser.

Uma coluna curta de opções tocadas uma vez — uma lista de invocação; o jogo marca quantas linhas quiser.

estende Control

var animals := GoChoiceColumn.make(["Hen", "Cat", "Dog", "Pig", "Cow"], 4, summon)
animals.set_selected(2, true)
side_bar.add_center(animals)

GoLevelCard

Um cartão de seleção de fase: miniatura, título, subtítulo e, conforme o estado, um visto, um cadeado ou a etiqueta PLAY!.

estende Button

var card := GoLevelCard.make("STAGE 3", "OPPONENTS: 3", GoLevelCard.State.CURRENT)
card.pressed.connect(play_stage)

GoStarRow

Uma fileira de estrelas de avaliação: algumas acesas em dourado, o resto apagado — a melhor vitória de uma fase ou a nota de uma tela de resultado.

estende HBoxContainer

var rating := GoStarRow.make(2)
rating.star_size = 40.0

GoKeyCluster

Quatro teclas de movimento em um T invertido (WASD ou setas), como numa tela de controles.

estende Control

var wasd := GoKeyCluster.make(["W", "A", "S", "D"])
var arrows := GoKeyCluster.make(GoKeyCluster.ARROWS)

GoCoverImage

Uma imagem que preenche a caixa e corta o excesso, como object-fit: cover do CSS.

estende Control

var shot := GoCoverImage.make(preload("res://art/level_3.png"), Vector2(0.5, 0.3))
shot.custom_minimum_size = Vector2(74, 74)

GoHudCard

Um painel da linha superior do HUD da partida: ícone com faixa e barras, uma contagem, um relógio ou um medidor de pronto.

estende PanelContainer

var clock := GoHudCard.make(GoUi.skin().widget_art(&"stopwatch"))
clock.title = "MATCH TIME"
clock.set_clock(83.0)

GoCountdown

A contagem de início: 3, 2, 1, GO! grande sobre um disco, cada passo surge com um salto.

estende Label

var count := GoCountdown.new()
count.show_step("3")

GoHudButton

Um botão de canto do HUD: um botão de imagem com a sua tecla numa tampa de tecla ao lado.

estende HBoxContainer

var pause := GoHudButton.make(GoUi.skin().widget_art(&"pause_button"), 52.0, "Esc")
pause.pressed.connect(func() -> void: print("pause"))

GoNameplate

Uma placa com o nome sobre uma personagem num mundo 3D, do mesmo tamanho a qualquer distância.

estende PanelContainer

var plate := GoNameplate.make("BOT RED", Color(0.86, 0.24, 0.24))
plate.follow(camera, anchor.global_position)

GoNoticeFeed

Um feed de avisos de uma linha, como um feed de eliminações, que se empilham, aparecem e saem sozinhos.

estende VBoxContainer

var feed := GoNoticeFeed.new()
feed.push("RED knocked out BLUE")
feed.push("YOU knocked out GREEN", true)

GoTouchButton

Um botão redondo para o polegar em telas de toque, com anel de recarga, pulso ao ficar pronto e mira por arrasto.

estende Control

var jump := GoTouchButton.make(&"btn_jump", "JUMP", 86.0)
jump.pressed_down.connect(send_jump)
var skill := GoTouchButton.make(&"btn_repulse", "REPULSE", 92.0)
skill.cooling = true
skill.cooldown = 0.4

GoSpotlight

Escurece a tela em volta de um controle e o contorna; a sombra some e o contorno fica.

estende Control

var spot := GoSpotlight.new()
hud.add_child(spot)
spot.follow(jump_button, true)

GoEditFrame

O contorno que um editor de layout desenha em volta de cada coisa que o jogador pode mover: normal, selecionado com alças, alerta, oculto. Nunca recebe entrada.

estende Control

var frame := GoEditFrame.new()
editor.add_child(frame)
frame.circle = true
frame.state = GoEditFrame.State.SELECTED

GoGestureHint

Pontas de dedo fantasmas que repetem um gesto de toque: duas se afastam e voltam a se juntar para ensinar o gesto de pinça para zoom. Nunca recebe entrada.

estende Control

var hint := GoGestureHint.new()
hud.add_child(hint)
hint.position = Vector2(480, 0)
hint.size = Vector2(480, 540)
hint.play()

GoTaskCard

O cartão de uma lição do tutorial: etapa, título, o que fazer, fichas que se marcam e uma dica; dobra-se em uma linha.

estende PanelContainer

var card := GoTaskCard.new()
card.caption = "TRAINING · STEP 1/12"
card.title = "MOVE"
card.body = "Move with W A S D."
card.set_parts(["W", "A", "S", "D"], [true])

GoPerfReadout

Uma faixa de desempenho sempre visível: fps, tempo de quadro, triângulos, chamadas de desenho, nós e memória; fica vermelha quando o fps cai.

estende PanelContainer

var perf := GoPerfReadout.new()
perf.tier_text = "LOW (auto)"
overlay_layer.add_child(perf)

GoSignalBars

Um medidor de sinal como o do celular: barras que sobem da esquerda para a direita, acesas em verde, dourado ou vermelho, com uma leitura como "48 ms" — o ping do HUD da partida.

estende PanelContainer

var ping := GoSignalBars.make(4, GoSignalBars.Tone.GOOD)
ping.set_reading(2, GoSignalBars.Tone.FAIR, "180 ms")

GoRewardRow

Uma linha para o que o jogador ganha com o progresso: uma missão ou conquista com barra, recompensa e um botão de resgatar, uma marca ou um cadeado conforme o estado. Altura fixa para GoListView.

estende PanelContainer

var quest := GoRewardRow.make("Win 3 matches", GoIconSet.STAR)
quest.key = "win_3"
quest.set_progress(1, 3)
quest.set_reward(50, GoIconSet.COIN)
quest.set_claim_text("CLAIM")
quest.set_state(GoRewardRow.State.READY)
quest.claim_pressed.connect(func(id: Variant) -> void: server.claim(id))

GoFoldTab

Recolhe um painel do HUD numa pequena pílula e o reabre: uma alça fina com uma seta e, recolhido, uma pílula que mantém um ícone, um texto curto e um medidor. O host reorganiza o HUD em fold_changed.

estende Button

var tab := GoFoldTab.new()
tab.side = SIDE_LEFT
tab.icon_name = GoIconSet.USERS
tab.pill_text = "3"
tab.fold_changed.connect(func(now_folded: bool) -> void: party.visible = not now_folded)

GoMapPreview

Um pequeno mapa do nível: áreas, ligações e pontos de início; uma silhueta cinza quando bloqueado.

estende Control

var map := GoMapPreview.new()
map.add_rect(Vector2(0, 0), Vector2(6, 4), Color("#f2b84b"))
map.add_circle(Vector2(18, 0), 5.0, Color("#6fc3ff"))
map.add_link(Vector2(0, 0), Vector2(18, 0), 2.0, Color("#c9a26b"))
map.set_starts(PackedVector2Array([Vector2(-3, 0), Vector2(20, 0)]))

GoRewardCalendar

GoRewardCalendar — Recompensas de presença diária; só o dia de hoje pode ser tocado.

Recompensas de presença diária; só o dia de hoje pode ser tocado.

estende VBoxContainer

var attendance := GoRewardCalendar.make(days, claimed_until)
attendance.claimed.connect(func(day: int) -> void: server.claim_day(day))

GoRadar

GoRadar — O pentágono de atributos, com uma linha tracejada para comparar equipamentos.

O pentágono de atributos, com uma linha tracejada para comparar equipamentos.

estende Control

var stats := GoRadar.make({"STR": 0.85, "AGI": 0.5, "INT": 0.3, "VIT": 0.7, "LUK": 0.45})
stats.set_compare(with_new_sword)

GoDonut

GoDonut — Partes como fatias, com legenda em palavras além de cor.

Partes como fatias, com legenda em palavras além de cor.

estende Control

var share := GoDonut.make([{"label": "Physical", "value": 620}, {"label": "Magic", "value": 340}])
card.add_child(share.legend())

GoZoomView

GoZoomView — Pinça, roda ou toque duplo para ampliar um mapa; desloca-se dentro das bordas.

Pinça, roda ou toque duplo para ampliar um mapa; desloca-se dentro das bordas.

estende Control

var map := GoZoomView.wrap(world_map, 4.0)
map.custom_minimum_size.y = 320
page.add_child(map)

GoStyle.hud_panel · overlay_panel

GoStyle.hud_panel · overlay_panel — Painéis que flutuam sobre o jogo para o texto ficar legível em qualquer imagem.

Painéis que flutuam sobre o jogo para o texto ficar legível em qualquer imagem.

função de GoStyle

var bars := GoStyle.hud_panel()
var pill := GoStyle.overlay_panel()

Aparência e sistema (9)

GoUi · GoThemePresets

GoUi · GoThemePresets — Escolha um preset (padrão, ficção científica, medieval, Material, infantil, quadrinhos ou arcade); leia cores e tamanhos dos tokens.

Escolha um preset (padrão, ficção científica, medieval, Material, infantil, quadrinhos ou arcade); leia cores e tamanhos dos tokens.

estende RefCounted

GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
var accent := GoUi.color(GoTheme.ACCENT)
var gap := GoUi.metric(GoTheme.GAP)

GoConfig

Um recurso para todas as configurações, que sobrevive às atualizações do complemento.

estende Resource

GoUi.config.reduce_motion = true
GoUi.config.container_alpha = 1.0
GoUi.refresh()

GoSkin

GoSkin — As formas que o código desenha — chips, slots, analógico, peças novas — no seu estilo.

As formas que o código desenha — chips, slots, analógico, peças novas — no seu estilo.

estende Resource

class_name MySkin
extends GoSkin

func banner_box() -> StyleBox:
	return surface_box(GoTheme.BOX_CARD)

GoIconSet · GoGameIcons

GoIconSet · GoGameIcons — Ícones por nome: o conjunto padrão, 187 ícones de jogo ou seus próprios SVGs.

Ícones por nome: o conjunto padrão, 187 ícones de jogo ou seus próprios SVGs.

estende Resource · RefCounted

GoUi.config.icons = GoGameIcons.icon_set()
var gear := GoUi.icons().node(GoIconSet.SETTINGS, 24)

GoStyleBoxCut · GoStyleBoxBracket · GoStyleBoxMedieval

GoStyleBoxCut · GoStyleBoxBracket · GoStyleBoxMedieval — Faces chanfradas, com colchetes e forjadas para seus painéis.

Faces chanfradas, com colchetes e forjadas para seus painéis.

estende StyleBox

var face := GoStyleBoxCut.new()
face.cut = 8
panel.add_theme_stylebox_override(&"panel", face)

GoStyleBoxSprite · GoTextureSprite

Um PNG pintado desenhado em nove fatias, e seu gêmeo de ícone para o seletor de um controle deslizante ou um interruptor.

estende StyleBox

var plate := GoStyleBoxSprite.new()
plate.texture = preload("res://ui/painted/gloss_green.png")
plate.pixels_per_unit = 3.0
button.add_theme_stylebox_override(&"normal", plate)

GoSafeArea · GoScale

Entalhes, barra de gestos e teclado; pontos de quebra em dp.

estende Control · RefCounted

var usable := GoSafeArea.usable_rect(get_viewport())
var size_class := GoScale.breakpoint_for_dp(minf(usable.size.x, usable.size.y))   # by the short side

GoFeedback

Sinais sonoros e vibração enviados ao seu próprio áudio; o gohud não traz sons.

estende RefCounted

GoFeedback.sound_handler = func(cue: String) -> void: audio.play_cue(cue)
GoFeedback.haptic_handler = func(ms: int, amplitude: float) -> void: Input.vibrate_handheld(ms, amplitude)

GoBackPolicy

Quem controla agora o Voltar do Android e o Esc, compartilhado entre janelas.

estende RefCounted

GoBackPolicy.acquire(get_tree())