gohud

Ikony

1 287 rysunków wywoływanych po nazwie — 84 zawsze dostępnych, 187 do gier i jeszcze 1 000 w bibliotece. Znajdź jeden poniżej, skopiuj nazwę, a każdy widżet gohud go narysuje.

Ikonę wywołuje się po nazwie

Widżet nigdy nie trzyma obrazka. Pyta o nazwę, a to, co zostanie narysowane, wybiera używany zestaw ikon — zmień zestaw, a zmienią się wszystkie ikony bez dotykania choćby linijki kodu.

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() to używany zestaw. Nazwa, której nie potrafi narysować, staje się pustym polem zachowującym miejsce, a w buildach debugowych pojawia się ostrzeżenie — brakująca ikona nigdy nie przesuwa wiersza.

Znajdź ikonę

Wszystkie rysunki dostarczane z gohud. Szukaj po nazwie lub po tym, co przedstawiają, zawęź do zestawu lub grupy i wybierz ikonę, aby skopiować jej nazwę.

Nazwy i słowa wyszukiwania zostają po angielsku w każdym języku — to je wpisujesz w kodzie.

Cztery zestawy, jedno wyszukiwanie

Każdy zestaw odpowiada na to samo wywołanie. Duże zestawy dodaje się na wierzch używanego.

ZestawNazwyStałeJak włączyć
Domyślny84GoIconSetZawsze włączony
Średniowieczny16 grawerowanych—GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
Gry187GoGameIconsGoUi.add_icons(GoGameIcons.icon_set())
Biblioteka1 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

Biblioteka sięga do zestawu gier, a ten do domyślnego, więc jedna linijka udostępnia 1 271 nazw. Zestaw trzyma rysunki jako ścieżki i czyta plik dopiero wtedy, gdy nazwa jest rysowana po raz pierwszy: dodanie biblioteki wczytuje tabelę ścieżek (ok. 30 ms na komputerze), a nie 1 000 tekstur.

Ścieżki to tekst, nie zależności. Eksport z wyborem zasobów musi obejmować addons/gohud/icons/; domyślny „eksport wszystkich zasobów” niczego nie wymaga.

Jak szuka się nazwy

Jedna kolejność dla wszystkich zestawów, więc wiadomo, który rysunek wygra.

  1. Najpierw własne rysunki każdego zestawu — używanego, potem każdego dodanego, a dalej ich zestawów zapasowych, poziom po poziomie. Własny rysunek zestawu to tekstura, ścieżka albo glif fontu ikon.
  2. Jeśli nikt go nie narysował, próbuje się aliasu: gear prowadzi do settings, x do close. Tylko jeden przeskok.
  3. Nadal nic: puste pole zachowujące miejsce.

To dzięki tej kolejności grawerowany miecz średniowiecznego presetu zostaje na wierzchu po dodaniu biblioteki — jego własny rysunek znajduje się przed czyimkolwiek zapasowym.

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

Presety, własny zestaw i dodatkowe zestawy

O tym, co zostanie narysowane, decydują trzy miejsca.

WywołanieCo robi
GoUi.use_preset(…)Motyw, skórka i zestaw ikon za jednym razem. Czyści config.icons, zachowuje config.extra_icons.
GoUi.config.icons = my_setZastępuje zestaw ikon presetu twoim.
GoUi.add_icons(set)Dodaje zestaw sprawdzany po używanym. Przetrwa zmianę presetu.

Własne rysunki

Nadpisz kilka nazw, dodaj cały folder albo podłącz font ikon — kod wywołujący się nie zmienia.

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

Nazwy, grupy i wyszukiwanie

Zasady, których trzymają się dołączone zestawy, i wywołania, które znajdują nazwę.

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

Skąd pochodzą rysunki

Wszystko jest na MIT. Informacje jadą w ZIP-ie jako THIRD_PARTY_NOTICES.md.

ZestawŹródłoLicencja
DomyślnyNarysowane dla gohudMIT
ŚredniowiecznyNarysowane dla gohudMIT
Gry171 z Tabler Icons 3.46.0, 16 narysowanych dla gohudMIT
BibliotekaTabler Icons 3.46.0MIT

Jeśli podłączasz cudze ikony, wpisz ich źródło w GoIconSet.attribution — a komercyjne fonty ikon trzymaj w swojej grze, nie w publikowanym forku.