gohud

Icônes

1 287 dessins que vous appelez par leur nom — 84 toujours là, 187 pour les jeux et 1 000 de plus dans la bibliothèque. Trouvez-en un ci-dessous, copiez son nom, et n'importe quel widget gohud peut le dessiner.

Une icône s'appelle par son nom

Un widget ne garde jamais d'image. Il demande un nom, et le jeu d'icônes en service décide de ce qui est dessiné — changez de jeu et toutes les icônes changent sans toucher une ligne de code.

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() est le jeu en service. Un nom qu'il ne peut pas dessiner devient une boîte vide qui garde sa place, avec un avertissement dans les builds de débogage : une icône manquante ne décale jamais une ligne.

Trouver une icône

Tous les dessins livrés avec gohud. Cherchez par nom ou par ce qu'ils montrent, restreignez à un jeu ou à un groupe, et choisissez une icône pour copier son nom.

Les noms et les mots de recherche restent en anglais dans toutes les langues — c'est ce que vous tapez dans le code.

Quatre jeux, une seule recherche

Chaque jeu répond au même appel. Les grands s'ajoutent par-dessus le jeu en service.

JeuNomsConstantesL'activer
Par défaut84GoIconSetToujours actif
Médiéval16 gravés—GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
Jeux vidéo187GoGameIconsGoUi.add_icons(GoGameIcons.icon_set())
Bibliothèque1 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 bibliothèque se replie sur le jeu « Jeux vidéo », et celui-ci sur le jeu par défaut : une ligne rend donc 1 271 noms dessinables. Un jeu garde ses dessins sous forme de chemins et ne lit un fichier que la première fois que son nom est dessiné : ajouter la bibliothèque lit une table de chemins (environ 30 ms sur un ordinateur), pas 1 000 textures.

Les chemins sont du texte, pas des dépendances. Un export qui choisit ses ressources doit inclure addons/gohud/icons/ ; l'option par défaut « exporter toutes les ressources » n'a besoin de rien.

Comment un nom est trouvé

Un seul ordre pour tous les jeux, pour savoir quel dessin l'emporte.

  1. D'abord les dessins propres de chaque jeu — le jeu en service, puis chaque jeu ajouté, puis leurs replis, niveau par niveau. Le dessin propre d'un jeu est une texture, un chemin ou un glyphe de police d'icônes.
  2. Si personne ne l'a dessiné, un alias est essayé : gear mène à settings, x à close. Un seul saut.
  3. Toujours rien : une boîte vide qui garde sa place.

C'est grâce à cet ordre que l'épée gravée du préréglage médiéval reste au-dessus quand vous ajoutez la bibliothèque — son dessin propre est trouvé avant le repli de quiconque.

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

Préréglages, votre jeu et jeux ajoutés

Trois endroits décident de ce qui est dessiné.

AppelCe qu'il fait
GoUi.use_preset(…)Thème, skin et jeu d'icônes d'un coup. Vide config.icons, garde config.extra_icons.
GoUi.config.icons = my_setRemplace le jeu d'icônes du préréglage par le vôtre.
GoUi.add_icons(set)Ajoute un jeu consulté après celui en service. Il survit aux changements de préréglage.

Vos propres dessins

Remplacez quelques noms, ajoutez un dossier entier ou branchez une police d'icônes — le code appelant ne change pas.

# 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())

Noms, groupes et recherche

Les règles que suivent les jeux fournis, et les appels qui trouvent un nom.

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

D'où viennent les dessins

Tout est sous MIT. Les avis voyagent dans le ZIP sous le nom THIRD_PARTY_NOTICES.md.

JeuOrigineLicence
Par défautDessinés pour gohudMIT
MédiévalDessinés pour gohudMIT
Jeux vidéo171 de Tabler Icons 3.46.0, 16 dessinés pour gohudMIT
BibliothèqueTabler Icons 3.46.0MIT

Si vous branchez les icônes de quelqu'un d'autre, indiquez leur origine dans GoIconSet.attribution — et gardez les polices d'icônes commerciales dans votre jeu, pas dans un fork que vous publiez.