gohud

Icone

1.287 disegni che richiami per nome — 84 sempre presenti, 187 per i giochi e altri 1.000 nella libreria. Trovane uno qui sotto, copiane il nome e qualsiasi widget di gohud potrà disegnarlo.

Un'icona si richiama per nome

I widget non tengono mai un'immagine. Chiedono un nome, e il set di icone in uso decide cosa disegnare — cambia set e tutte le icone cambiano senza toccare una riga di codice.

GoStyle.icon_button(GoIconSet.SETTINGS, open_settings)   # a button
slot.icon_name = GoGameIcons.BACKPACK                     # a quick slot
var mark := GoUi.icons().node(&"cloud_rain", 24)          # a bare Control, any size

GoUi.icons() è il set in uso. Un nome che non sa disegnare diventa una casella vuota che mantiene il suo spazio, con un avviso nelle build di debug, così un'icona mancante non sposta mai una riga.

Trova un'icona

Tutti i disegni inclusi in gohud. Cerca per nome o per ciò che mostrano, restringi a un set o a un gruppo e scegli un'icona per copiarne il nome.

Nomi e parole di ricerca restano in inglese in ogni lingua — sono ciò che scrivi nel codice.

Quattro set, una sola ricerca

Ogni set risponde alla stessa chiamata. Quelli grandi si aggiungono sopra al set in uso.

SetNomiCostantiCome attivarlo
Predefinito84GoIconSetSempre attivo
Medievale16 incisi—GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
Gioco187GoGameIconsGoUi.add_icons(GoGameIcons.icon_set())
Libreria1.000GoIconLibraryGoUi.add_icons(GoIconLibrary.icon_set())
GoUi.add_icons(GoIconLibrary.icon_set())   # the library — and the game set under it
GoUi.add_icons(GoGameIcons.icon_set())     # or the game set alone

La libreria ricade sul set da gioco e questo sul predefinito, quindi una riga rende disegnabili 1.271 nomi. Un set tiene i suoi disegni come percorsi e legge un file solo la prima volta che il nome viene disegnato: aggiungere la libreria legge una tabella di percorsi (circa 30 ms su un computer), non 1.000 texture.

I percorsi sono stringhe, non dipendenze. Un'esportazione che sceglie le risorse deve includere addons/gohud/icons/; l'impostazione predefinita «esporta tutte le risorse» non richiede nulla.

Come si trova un nome

Un solo ordine per tutti i set, così sai quale disegno vince.

  1. Prima i disegni propri di ogni set — il set in uso, poi ogni set aggiunto, poi i loro fallback, livello per livello. Il disegno proprio di un set è una texture, un percorso o un glifo di un font di icone.
  2. Se nessuno lo ha disegnato, si prova un alias: gear porta a settings, x a close. Un solo salto.
  3. Ancora niente: una casella vuota che mantiene il suo spazio.

È per quest'ordine che la spada incisa del preset medievale resta in cima quando aggiungi la libreria — il suo disegno proprio si trova prima del fallback di chiunque.

GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
GoUi.add_icons(GoIconLibrary.icon_set())

GoUi.icons().texture(&"sword")      # the medieval engraving — its own drawing comes first
GoUi.icons().texture(&"rocket")     # from the game set
GoUi.icons().canonical(&"gear")     # &"settings" — an alias

Preset, il tuo set e set aggiuntivi

Tre punti decidono cosa viene disegnato.

ChiamataCosa fa
GoUi.use_preset(…)Tema, skin e set di icone in un colpo. Svuota config.icons, mantiene config.extra_icons.
GoUi.config.icons = my_setSostituisce il set di icone del preset con il tuo.
GoUi.add_icons(set)Aggiunge un set consultato dopo quello in uso. Sopravvive ai cambi di preset.

I tuoi disegni

Sovrascrivi qualche nome, aggiungi un'intera cartella o collega un font di icone — il codice chiamante non cambia.

# Override a few names — everything else still comes from the set in use
var mine := GoIconSet.new()
mine.fallback = GoUi.icons()
mine.textures = {GoIconSet.CLOSE: preload("res://art/close.svg")}
GoUi.config.icons = mine

# A folder of drawings — file name = icon name, each read when first drawn
GoUi.config.icons = GoIconSet.from_folder("res://art/icons", GoUi.icons())

Nomi, gruppi e ricerca

Le regole seguite dai set inclusi e le chiamate che trovano un nome.

var icons := GoUi.icons()
icons.search("arrow left", 5)       # best matches first: back, arrow_bar_left …
icons.search("rain")                # cloud_rain, then drawings tagged "rain"

group_names() · names_in_group()

icons.group_names()                 # every group key, in lookup order
icons.names_in_group(&"weather")    # one group, in display order — every set's share of it
icons.group_title(&"weather")       # "Weather & sky"

canonical() · has_icon()

icons.canonical(&"gear")            # &"settings"
icons.canonical(&"treasure_chest")  # &"chest" — Tabler's name for a game drawing
icons.has_icon(&"cloud_rain")       # true once the library is added — nothing is loaded to answer

Da dove vengono i disegni

Tutto è MIT. Gli avvisi viaggiano nello ZIP come THIRD_PARTY_NOTICES.md.

SetOrigineLicenza
PredefinitoDisegnati per gohudMIT
MedievaleDisegnati per gohudMIT
Gioco171 da Tabler Icons 3.46.0, 16 disegnati per gohudMIT
LibreriaTabler Icons 3.46.0MIT

Se colleghi icone di qualcun altro, scrivine l'origine in GoIconSet.attribution — e tieni i font di icone commerciali dentro il tuo gioco, non in un fork che pubblichi.