gohud

Ikon

1.287 gambar yang dipanggil dengan nama — 84 selalu ada, 187 untuk game, dan 1.000 lagi di pustaka. Temukan satu di bawah, salin namanya, dan widget gohud mana pun bisa menggambarnya.

Ikon dipanggil dengan namanya

Widget tidak pernah menyimpan gambar. Ia hanya meminta nama, dan set ikon yang sedang dipakai memutuskan apa yang digambar — ganti set-nya dan semua ikon ikut berganti tanpa menyentuh satu baris kode pun.

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() adalah set yang sedang dipakai. Nama yang tidak bisa digambarnya menjadi kotak kosong yang tetap memakan tempat, dengan peringatan di build debug, jadi ikon yang hilang tidak pernah menggeser baris.

Cari ikon

Semua gambar yang dibawa gohud. Cari berdasarkan nama atau apa yang ditampilkan, persempit ke set atau grup, lalu pilih ikon untuk menyalin namanya.

Nama dan kata pencarian tetap berbahasa Inggris di semua bahasa — itulah yang Anda ketik di kode.

Empat set, satu pencarian

Setiap set menjawab panggilan yang sama. Set besar ditambahkan di atas set yang sedang dipakai.

SetNamaKonstantaCara menyalakan
Default84GoIconSetSelalu aktif
Abad pertengahan16 ukiran—GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
Game187GoGameIconsGoUi.add_icons(GoGameIcons.icon_set())
Pustaka1.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

Pustaka jatuh ke set game, dan set game ke set default, jadi satu baris membuat 1.271 nama bisa digambar. Sebuah set menyimpan gambarnya sebagai path dan hanya membaca file saat nama itu pertama kali digambar: menambahkan pustaka membaca satu tabel path (sekitar 30 ms di desktop), bukan 1.000 tekstur.

Path adalah string, bukan dependensi. Ekspor yang memilih resource harus menyertakan addons/gohud/icons/; opsi default “ekspor semua resource” tidak memerlukan apa pun.

Cara sebuah nama ditemukan

Satu urutan untuk semua set, jadi Anda tahu gambar mana yang menang.

  1. Pertama, gambar milik setiap set — set yang sedang dipakai, lalu setiap set tambahan, lalu fallback mereka, tingkat demi tingkat. Gambar milik sebuah set adalah tekstur, path, atau glyph font ikon.
  2. Jika tak ada yang menggambarnya, alias dicoba: gear mengarah ke settings, x ke close. Hanya satu lompatan.
  3. Masih tidak ada: kotak kosong yang tetap memakan tempat.

Urutan inilah yang membuat pedang ukiran preset abad pertengahan tetap di atas saat Anda menambahkan pustaka — gambarnya sendiri ditemukan sebelum fallback milik siapa pun.

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, set Anda, dan set tambahan

Tiga tempat menentukan apa yang digambar.

PanggilanFungsinya
GoUi.use_preset(…)Tema, skin, dan set ikon sekaligus. Mengosongkan config.icons, mempertahankan config.extra_icons.
GoUi.config.icons = my_setMengganti set ikon preset dengan milik Anda.
GoUi.add_icons(set)Menambahkan set yang dicari setelah set yang sedang dipakai. Tetap ada saat preset berganti.

Gambar Anda sendiri

Timpa beberapa nama, tambahkan satu folder utuh, atau pasang font ikon — kode pemanggilnya tetap sama.

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

Nama, grup, dan pencarian

Aturan yang diikuti set bawaan, dan panggilan untuk menemukan nama.

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

Asal gambar-gambarnya

Semuanya MIT. Pemberitahuannya ikut di dalam ZIP sebagai THIRD_PARTY_NOTICES.md.

SetSumberLisensi
DefaultDigambar untuk gohudMIT
Abad pertengahanDigambar untuk gohudMIT
Game171 dari Tabler Icons 3.46.0, 16 digambar untuk gohudMIT
PustakaTabler Icons 3.46.0MIT

Jika Anda memasang ikon milik orang lain, tulis sumbernya di GoIconSet.attribution — dan simpan font ikon komersial di dalam game Anda, bukan di fork yang Anda publikasikan.