gohud

الأيقونات

1,287 رسمة تطلبها بالاسم — 84 موجودة دائمًا، و187 للألعاب، و1,000 أخرى في المكتبة. اعثر على واحدة بالأسفل وانسخ اسمها، فيرسمها أي عنصر من عناصر gohud.

تُطلب الأيقونة باسمها

لا يحمل العنصر صورة أبدًا. هو يطلب اسمًا فقط، ومجموعة الأيقونات المستخدمة تقرر ما يُرسم — بدّل المجموعة فتتغير كل الأيقونات دون أن تلمس سطرًا واحدًا من الكود.

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() هي المجموعة المستخدمة. الاسم الذي لا تستطيع رسمه يصبح مربعًا فارغًا يحتفظ بمكانه، مع تحذير في بنيات التصحيح، فلا تُزيح أيقونة مفقودة صفًّا أبدًا.

ابحث عن أيقونة

كل الرسومات التي يأتي بها gohud. ابحث بالاسم أو بما تُظهره، وضيّق النتائج بمجموعة أو فئة، ثم اختر أيقونة لتنسخ اسمها.

تبقى الأسماء وكلمات البحث بالإنجليزية في كل اللغات — فهي ما تكتبه في الكود.

أربع مجموعات وطريقة بحث واحدة

كل مجموعة تجيب عن الاستدعاء نفسه. تُضاف المجموعات الكبيرة فوق المجموعة المستخدمة.

المجموعةالأسماءالثوابتطريقة التفعيل
الافتراضية84GoIconSetمفعّلة دائمًا
العصور الوسطى16 رسمة محفورة—GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
الألعاب187GoGameIconsGoUi.add_icons(GoGameIcons.icon_set())
المكتبة1,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

ترجع المكتبة إلى مجموعة الألعاب، وترجع مجموعة الألعاب إلى المجموعة الافتراضية، لذا يجعل سطر واحد 1,271 اسمًا قابلًا للرسم. تحتفظ المجموعة برسوماتها كمسارات ولا تقرأ الملف إلا حين يُرسم الاسم أول مرة: إضافة المكتبة تقرأ جدول مسارات واحدًا (نحو 30 ms على حاسوب مكتبي)، لا 1,000 نقشًا.

المسارات نصوص وليست تبعيات. التصدير الذي يختار الموارد يجب أن يتضمن addons/gohud/icons/؛ أما الخيار الافتراضي «تصدير كل الموارد» فلا يحتاج إلى شيء.

كيف يُعثر على الاسم

ترتيب واحد لكل المجموعات، فتعرف مسبقًا أي رسمة تفوز.

  1. أولًا الرسومات الخاصة بكل مجموعة — المجموعة المستخدمة، ثم كل مجموعة مضافة، ثم احتياطياتها، مستوًى بعد مستوى. الرسمة الخاصة بالمجموعة هي نقش أو مسار أو حرف من خط أيقونات.
  2. إن لم يرسمها أحد، يُجرَّب اسم بديل: gear يقود إلى settings، وx إلى close. قفزة واحدة فقط.
  3. وإن لم يوجد شيء بعد: مربع فارغ يحتفظ بمكانه.

بفضل هذا الترتيب يبقى السيف المحفور لنمط العصور الوسطى في الأعلى حين تضيف المكتبة — فرسمته الخاصة تُوجد قبل احتياطي أي مجموعة.

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

الأنماط الجاهزة ومجموعتك والمجموعات المضافة

ثلاثة أماكن تقرر ما يُرسم.

الاستدعاءما يفعله
GoUi.use_preset(…)يبدّل السمة والمظهر ومجموعة الأيقونات دفعة واحدة. يُفرغ config.icons ويُبقي config.extra_icons.
GoUi.config.icons = my_setيستبدل مجموعة أيقونات النمط الجاهز بمجموعتك.
GoUi.add_icons(set)يضيف مجموعة يُبحث فيها بعد المجموعة المستخدمة. تبقى عند تغيير النمط الجاهز.

رسوماتك الخاصة

استبدل بضعة أسماء، أو أضف مجلدًا كاملًا، أو صِل خط أيقونات — يبقى كود الاستدعاء كما هو.

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

الأسماء والفئات والبحث

القواعد التي تتبعها المجموعات المرفقة، والاستدعاءات التي تجد الاسم.

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

من أين جاءت الرسومات

كل شيء بترخيص MIT. تسافر الإشعارات داخل ZIP في الملف THIRD_PARTY_NOTICES.md.

المجموعةالمصدرالترخيص
الافتراضيةرُسمت لأجل gohudMIT
العصور الوسطىرُسمت لأجل gohudMIT
الألعاب171 من Tabler Icons 3.46.0، و16 رُسمت لأجل gohudMIT
المكتبةTabler Icons 3.46.0MIT

إن وصلت أيقونات شخص آخر فاكتب مصدرها في GoIconSet.attribution — واحتفظ بخطوط الأيقونات التجارية داخل لعبتك، لا في نسخة معدّلة تنشرها.