التخطيط (15)
GoScaffold

شاشة تطبيق موصولة جاهزة: شريط وصفحة تمرير وشريط سفلي وزر FAB ودرج.
يرث Control
var page := GoStyle.column()
var screen := GoScaffold.make("Inbox", page, true)
screen.set_fab(GoFab.make(GoIconSet.EDIT))
add_child(screen)
GoTopBar

عناصر على الحافة العلوية في خانة إلى ثلاث؛ يبقى الأوسط في المنتصف.
يرث GoEdgeBar
var bar := GoTopBar.make(3)
bar.add_start(GoStyle.icon_button(GoIconSet.BACK, go_back, -1, &"back"))
bar.add_center(GoStyle.label("Stage 3"))
bar.add_end(GoStyle.chip("1,250"))
GoBottomBar

عناصر على الحافة السفلية بعيدًا عن شريط الإيماءات.
يرث GoEdgeBar
var actions := GoBottomBar.make(1, GoBottomBar.Justify.SPACE_BETWEEN)
for name in ["Attack", "Guard", "Run"]: actions.add_start(GoStyle.button(name))
screen.add_child(actions)
GoLeftSideBar

حتى ثلاث طبقات على الحافة اليسرى.
يرث GoSideBar
var tools := GoLeftSideBar.make(3)
tools.add_start(GoStyle.icon_button(GoIconSet.MENU, open_menu, -1, &"menu"))
tools.add_end(GoStyle.icon_button(GoIconSet.USER, open_profile, -1, &"profile"))
screen.add_child(tools)
GoRightSideBar

حتى ثلاث طبقات على الحافة اليمنى.
يرث GoSideBar
var tools := GoRightSideBar.make(3)
tools.add_start(GoStyle.icon_button(GoIconSet.SETTINGS, open_settings, -1, &"settings"))
tools.add_center(GoStyle.icon_button(GoIconSet.SEARCH, find, -1, &"search"))
screen.add_child(tools)
GoSideBar

الشريط الجانبي الذي يقوم عليه الاثنان؛ يبقى في جهته في اللغات من اليمين إلى اليسار.
يرث GoEdgeBar
var rail := GoRightSideBar.make(1, GoSideBar.Justify.CENTER)
rail.add_start(GoStyle.icon_button(GoIconSet.MAP, open_map, -1, &"map"))
GoEdgeBar

القواعد المشتركة لكل أشرطة الحواف: الخانات والتوزيع والتثبيت على الحافة والمنطقة الآمنة.
يرث Container
var bar := GoTopBar.make(1)
bar.justify = GoEdgeBar.Justify.SPACE_BETWEEN
bar.pin_to_edge = GoEdgeBar.Pin.ALWAYS
GoGrid

أعمدة متساوية العرض تمامًا — عدد ثابت أو بقدر ما يتسع.
يرث Container
var cards := GoGrid.make(1, 160.0)
for item in items: cards.add_child(GoStyle.item_card(item))
GoForm

نموذج يحد عرضه ويبتعد عن لوحة المفاتيح وواجهة HUD.
يرث MarginContainer
var form := GoForm.new()
form.avoid_hud = true
form.add_child(GoScroll.new())
add_child(form)
GoScroll

تمرير باللمس يعمل من أي مكان في المحتوى؛ يراعي اللغات من اليمين إلى اليسار.
يرث ScrollContainer
var list := GoScroll.new()
list.add_child(GoStyle.column())
var strip := GoScroll.horizontal()
GoHudAnchor

يثبت أجزاء HUD في إحدى تسع نقاط من المنطقة الآمنة.
يرث Control
var corner := GoHudAnchor.new()
corner.spot = GoHudAnchor.Spot.TOP_LEFT
corner.add_child(GoStyle.hud_panel())
GoStyle.column · row · wrap_row

أعمدة وصفوف وصفوف ملتفة بفواصل من السمة.
دالة من GoStyle
var page := GoStyle.column()
var line := GoStyle.row()
var chips := GoStyle.wrap_row()
GoStyle.responsive_grid · aspect

شبكة تزيد أعمدتها كلما اتسعت، وصندوق يحفظ نسبته.
دالة من GoStyle
var tiles := GoStyle.responsive_grid(160)
var thumb := GoStyle.aspect(16.0 / 9.0)
GoStyle.padding · spacer · divider

حشوة، وفاصل يأخذ المساحة المتبقية، وخط فاصل.
دالة من GoStyle
var pad := GoStyle.padding(16)
line.add_child(GoStyle.spacer())
page.add_child(GoStyle.divider())
GoStyle.foldable · section

عنوان قسم، وقسم يُطوى ويُفتح.
دالة من GoStyle
page.add_child(GoStyle.section("Sound", false))
var more := GoStyle.foldable("Advanced", true, null, false)
النوافذ والطبقات (12)
GoSurface

نافذة عائمة — في الوسط أو من الأسفل أو مثبتة على عنصر تحكم.
يرث Control
var window := GoSurface.new()
window.set_title("Settings")
window.close_requested.connect(window.queue_free)
layer.add_child(window)
GoSheet

لوحة سفلية بصفحات وتنقل للخلف وتذييل ثابت.
يرث CanvasLayer
var sheet := GoSheet.new()
add_child(sheet)
sheet.open("Inventory")
sheet.body.add_child(bag_list)
GoPage
صفحة بملء الشاشة مع شريط فئات (يسارًا في الوضع الأفقي، وألسنة في الأعلى في الوضع الرأسي) ومعاينة ورجوع وصفحات فرعية تُفتح داخلها.
يرث CanvasLayer
var page := GoPage.new()
add_child(page)
page.open("Settings")
page.set_tabs([{id = &"sound", label = "Sound", icon = GoIconSet.VOLUME_HIGH, badge = ""}])
page.push("About", func(box: VBoxContainer) -> void: box.add_child(GoStyle.label("Version 1.0")))
GoDialogs

نوافذ تأكيد وتنبيه تنتظرها بـ await؛ تنتظر التنبيهات دورها.
يرث Node
var dialogs := GoDialogs.new()
add_child(dialogs)
if await dialogs.confirm("Delete save", "This cannot be undone.", "", "", "", {}, true):
delete_save()
GoDialogs.choose

خيار من بضعة خيارات — لوحة سفلية على الهاتف وبطاقة على سطح المكتب.
دالة من GoDialogs
var index := await dialogs.choose("Sort by", ["Newest", "Price", "Rating"])
if index >= 0: sort_by(index)
GoDrawer

لوحة تنزلق من اليسار أو اليمين.
يرث CanvasLayer
var drawer := GoDrawer.new()
add_child(drawer)
drawer.side = GoDrawer.Side.RIGHT
drawer.open("Bag")
GoPopover

بطاقة معلومات بجانب ما ضُغط عليه؛ واحدة في كل مرة.
يرث RefCounted
GoPopover.open(slot, GoStyle.item_card(item, false))
GoContextMenu

قائمة بالضغط المطول أو النقر الأيمن؛ تُلغى إن تحرك الإصبع.
يرث RefCounted
GoContextMenu.attach(slot, [{"text": "Use"}, {"text": "Drop", "danger": true}])
GoCoachMark

جولة إرشادية تشير إلى عناصر تحكم حقيقية.
يرث Control
var tour := GoCoachMark.new()
add_child(tour)
tour.start([{"target": bag_button, "title": "Bag", "body": "Your items live here."}])
GoConsole

وحدة تحكم للمطورين بأوامر وسجل؛ معطلة في إصدارات النشر.
يرث CanvasLayer
var console := GoConsole.new()
add_child(console)
console.register("give", "Grant an item", give_item)
GoRibbonHeader
شريط عنوان الشاشة المعلّق فوق الحافة العليا لبطاقتها، مع رمز ورسم الزاوية الخاص بالمظهر.
يرث Control
var header := GoRibbonHeader.make("PAUSED", GoIconSet.PAUSE)
card_column.add_child(header)
GoFitBox
يُبقي البطاقة كاملة على الشاشة، ويصغّرها مع شريطها إذا كانت كبيرة جدًا؛ والقائمة الطويلة تُمرَّر بدلًا من ذلك.
يرث Container
var fit := GoFitBox.new()
fit.add_child(card)
الرسائل والانتظار (12)
GoSnackbar

رسالة في الأسفل تنتظر دورها ويمكن أن تحمل أزرارًا.
يرث Node
var snack := GoSnackbar.new()
add_child(snack)
if await snack.post({"text": "Item dropped", "actions": ["Undo"]}) == 0:
restore_item()
GoNotice

إشعار لا يأخذ الإدخال ولا التركيز أبدًا.
يرث PanelContainer
var notice := GoNotice.new()
hud.add_child(notice)
notice.show_text("Saved", GoTheme.SUCCESS)
GoPromptCard

سؤال لا يوقف اللعبة — دعوة أو مبادلة.
يرث PanelContainer
var invite := GoPromptCard.new()
invite.set_title("Party invite from Ann")
invite.set_actions([{"text": "Accept", "action": accept, "primary": true}])
GoBanner

رسالة تبقى على الصفحة حتى يُتعامل معها.
يرث PanelContainer
var offline := GoBanner.make("You're offline.", [{"text": "Retry", "action": reconnect}], GoIconSet.WARNING)
page.add_child(offline)
GoSpinner

انتظار؛ يحوّل الزر إلى مؤشر في مكانه فلا يُضغط مرتين.
يرث Control
GoSpinner.busy(buy_button, true)
await shop.buy(item)
GoSpinner.busy(buy_button, false)
GoBadge

نقطة غير المقروء ووسم NEW و+99 معلقة على زاوية.
يرث PanelContainer
GoBadge.attach(mail_button, unread)
GoBadge.attach(shop_button, 0, "NEW")
GoProgress

تقدّم على شكل خط أو حلقة، متموج أو مسطح؛ غير محدد ما دام الحجم مجهولًا.
يرث Control
var upload := GoProgress.linear()
upload.value = 0.4
var ring := GoProgress.circular(true)
GoLoadingIndicator

علامة انتظار Material 3 Expressive التي تغيّر شكلها؛ ثابتة مع reduce_motion.
يرث Control
var wait := GoLoadingIndicator.new()
wait.contained = true
page.add_child(wait)
GoRefresh

اسحب القائمة إلى الأسفل من أعلاها لإعادة تحميلها.
يرث Control
var refresh := GoRefresh.attach(feed)
refresh.refresh_requested.connect(func() -> void:
await reload_posts()
refresh.finish())
GoStyle.alert

رسالة ضمن المحتوى بنبرة معلومات أو نجاح أو تحذير أو خطر.
دالة من GoStyle
page.add_child(GoStyle.alert("Maintenance at 3 AM", GoTheme.WARNING))
GoStyle.skeleton · empty_state

عنصر نائب أثناء التحميل، ورسالة لقائمة فارغة.
دالة من GoStyle
page.add_child(GoStyle.skeleton(200))
page.add_child(GoStyle.empty_state(GoIconSet.BOX, "No items yet", false))
GoStyle.tooltip_node

تلميح بنمط السمة لا يقسم الكلمات أبدًا.
دالة من GoStyle
func _make_custom_tooltip(text: String) -> Object:
return GoStyle.tooltip_node(text)
الإدخال والمنتقيات (14)
GoStyle.line_edit · textarea

حقل نص بسطر واحد وحقل بعدة أسطر.
دالة من GoStyle
var nickname := GoStyle.line_edit("Your name")
var note := GoStyle.textarea("Message", 4)
GoField

تسمية وعنصر تحكم وتلميح، مع خطأ تحت الحقل الخاطئ.
يرث VBoxContainer
var field := GoField.make("Nickname", GoStyle.line_edit(), "3–12 letters", false)
field.set_error("That name is taken")
GoInputGroup

حقل إدخال وأزراره ملحومة في شكل واحد.
يرث HBoxContainer
var chat := GoInputGroup.make(GoStyle.line_edit("Message"), {"suffix": GoStyle.button("Send", send)})
GoCombobox

منتقٍ يبحث داخل الأسماء لا من بدايتها فقط.
يرث Button
var friend := GoCombobox.make(friends, -1, "Find a friend")
friend.picked.connect(invite)
GoCodeInput

رموز القسائم والهدايا في خانات؛ يبقى اللصق والإدخال عبر IME يعملان.
يرث VBoxContainer
var coupon := GoCodeInput.make(12, 4)
coupon.completed.connect(redeem)
GoStyle.select · dropdown

قائمة منسدلة، وزر يفتح قائمة.
دالة من GoStyle
var quality := GoStyle.select(["Low", "Medium", "High"])
var sort := GoStyle.dropdown("Sort", ["Newest", "Price"], sort_by)
GoStyle.slider

منزلق بشكل السمة.
دالة من GoStyle
var volume := GoStyle.slider(0.0, 1.0, 0.05)
volume.value_changed.connect(set_volume)
GoRangeSlider

مقبضان لا يتقاطعان أبدًا — نطاق سعر أو مستوى.
يرث Control
var price := GoRangeSlider.make(0.0, 500.0, 40.0, 220.0, 10.0)
price.change_ended.connect(func(low: float, high: float) -> void: refilter(low, high))
GoSlider
منزلق بالمظهر المرسوم: يتجاوز الملء المقبض قليلًا، ويكبر المقبض أثناء الضغط عليه.
يرث HSlider
var music := GoSlider.make(0.0, 1.0, 0.01)
music.theme_type_variation = &"GoSliderGreen"
GoSwitch
مفتاح تشغيل/إيقاف بالمظهر المرسوم، مع ON / OFF بجانب المقبض.
يرث CheckButton
var vibration := GoSwitch.make(true)
vibration.set_texts(tr("ON"), tr("OFF"))
GoDatePicker

شهر للنقر عليه؛ ونطاق أيام مع range_mode.
يرث Container
var stay := GoDatePicker.make()
stay.range_mode = true
stay.range_picked.connect(func(start: Dictionary, end: Dictionary) -> void: book(start, end))
GoTimePicker

قرص الساعة: الساعة ثم الدقائق؛ 12 أو 24 ساعة؛ مفتاحا الأعلى والأسفل على الخانة.
يرث Container
var alarm := GoTimePicker.make(7, 30, func(hour: int, minute: int) -> void: set_alarm(hour, minute))
alarm.use_24h = true
GoWheelPicker

عجلة تدور وتستقر على عنصر واحد في شريطها.
يرث Control
var amount := GoWheelPicker.make(["x1", "x5", "x10", "x50"], 0, set_amount)
row.add_child(amount)
GoStepper

خطوات مرقمة مع التالي والسابق، عموديًا أو في صف.
يرث VBoxContainer
var checkout := GoStepper.make([{"title": "Cart", "content": cart}, {"title": "Pay", "content": pay}])
checkout.finished.connect(place_order)
القوائم والبطاقات والبيانات (8)
GoStyle.list_row · list_button

صف قائمة بأيقونة وعنوان وملخص وعلامة في النهاية.
دالة من GoStyle
page.add_child(GoStyle.list_button(GoIconSet.SETTINGS, "Settings", open_settings, Color.TRANSPARENT, "", false))
GoListView

آلاف الصفوف؛ يُبنى منها الظاهر فقط.
يرث GoScroll
var feed := GoListView.make(10000, 72.0, func(index: int) -> Control: return post_row(posts[index]))
feed.end_reached.connect(load_more)
GoReorderList

صفوف تُرتَّب بالسحب من مقبض أو بالضغط المطول.
يرث Container
var queue := GoReorderList.make([intro_row, theme_row, boss_row])
queue.reordered.connect(func(from: int, to: int) -> void: songs.insert(to, songs.pop_at(from)))
GoSwipeRow

صف تسحبه جانبًا للحذف أو الأرشفة؛ تبقى القائمة قابلة للتمرير.
يرث Container
inbox.add_child(GoSwipeRow.wrap(mail_row, {"icon": GoIconSet.TRASH, "text": "Delete",
"tone": GoTheme.DANGER, "action": delete_mail}))
GoTable

عناوين قابلة للفرز وصفوف قابلة للاختيار؛ تُرتَّب الأرقام كأرقام.
يرث VBoxContainer
var board := GoTable.make(["Name", {"text": "Score", "numeric": true}], [["Ann", 9124], ["Ben", 91240]])
board.row_selected.connect(open_profile)
GoStyle.card · item_card

بطاقة، وبطاقة تفاصيل العنصر المختار.
دالة من GoStyle
var card := GoStyle.card()
card.add_child(GoStyle.label("Daily quest"))
popup.add_child(GoStyle.item_card({"title": "Rusty sword", "subtitle": "Common"}))
GoStyle.avatar

أحرف أولى أو صورة داخل قرص.
دالة من GoStyle
row.add_child(GoStyle.avatar("AK", 40))
GoStyle.label

نص بأحد سبعة أدوار للخط، من micro إلى title.
دالة من GoStyle
page.add_child(GoStyle.label("Level 12", GoTheme.ROLE_TITLE))
page.add_child(GoStyle.label("Next level in 340 XP", GoTheme.ROLE_CAPTION, GoUi.color(GoTheme.MUTED)))
واجهة HUD وأشكال الألعاب (30)
GoBar

أشرطة HP وMP وXP بقيمة أو كسر أو نسبة مئوية.
يرث Control
var hp := GoBar.new()
hp.label_text = "HP"
hp.set_values(320, 500)
GoSlot

خانة سريعة: أيقونة وكمية وفترة تهدئة واختصار على وجه واحد.
يرث Button
var potion := GoSlot.new()
potion.icon_name = GoIconSet.POTION
potion.quantity = 12
potion.start_cooldown(5.0)
GoSlotGrid

شبكة مخزون؛ يمكن سحب العناصر بين الخانات.
يرث HFlowContainer
var bag := GoSlotGrid.new()
bag.set_cell(0, {"icon": GoIconSet.POTION, "quantity": 12})
GoJoystick

عصا تحكم افتراضية — ثابتة أو تتبع الإبهام أو نسبية.
يرث Control
var pad := GoJoystick.new()
pad.mode = GoJoystick.Mode.FOLLOW
pad.moved.connect(func(direction: Vector2) -> void: player.move(direction))
GoKbd

أغطية مفاتيح تقرأ الربط الفعلي، فلا يكذب التلميح بعد إعادة الربط.
يرث HBoxContainer
hint.add_child(GoKbd.for_action(&"interact"))
GoChoiceColumn

عمود قصير من الخيارات يُنقر مرة واحدة — قائمة استدعاء؛ تحدد اللعبة أي عدد من الصفوف.
يرث Control
var animals := GoChoiceColumn.make(["Hen", "Cat", "Dog", "Pig", "Cow"], 4, summon)
animals.set_selected(2, true)
side_bar.add_center(animals)
GoLevelCard
بطاقة اختيار المرحلة: صورة مصغرة وعنوان وعنوان فرعي، وحسب الحالة علامة صح أو قفل أو وسم PLAY!.
يرث Button
var card := GoLevelCard.make("STAGE 3", "OPPONENTS: 3", GoLevelCard.State.CURRENT)
card.pressed.connect(play_stage)
GoStarRow
صف من نجوم التقييم: بعضها مضاء بالذهبي والباقي باهت — أفضل إنهاء لمرحلة أو تقدير شاشة النتائج.
يرث HBoxContainer
var rating := GoStarRow.make(2)
rating.star_size = 40.0
GoKeyCluster
أربعة مفاتيح حركة على شكل حرف T مقلوب (WASD أو الأسهم) كما في شاشة التحكم.
يرث Control
var wasd := GoKeyCluster.make(["W", "A", "S", "D"])
var arrows := GoKeyCluster.make(GoKeyCluster.ARROWS)
GoCoverImage
صورة تملأ صندوقها وتقصّ الزائد منها مثل object-fit: cover في CSS.
يرث Control
var shot := GoCoverImage.make(preload("res://art/level_3.png"), Vector2(0.5, 0.3))
shot.custom_minimum_size = Vector2(74, 74)
GoHudCard
لوحة واحدة من الصف العلوي لواجهة المباراة: أيقونة مع شريط وأشرطة، أو عدّاد، أو ساعة، أو مقياس جاهزية.
يرث PanelContainer
var clock := GoHudCard.make(GoUi.skin().widget_art(&"stopwatch"))
clock.title = "MATCH TIME"
clock.set_clock(83.0)
GoCountdown
العدّ التنازلي لبدء المباراة: 3، 2، 1، GO! كبيرة على قرص، وكل خطوة تقفز للظهور.
يرث Label
var count := GoCountdown.new()
count.show_step("3")
GoHudButton
زر ركن في الواجهة: زر صورة بجانبه مفتاح لوحة المفاتيح على غطاء مفتاح.
يرث HBoxContainer
var pause := GoHudButton.make(GoUi.skin().widget_art(&"pause_button"), 52.0, "Esc")
pause.pressed.connect(func() -> void: print("pause"))
GoNameplate
لافتة اسم تطفو فوق شخصية في عالم ثلاثي الأبعاد، بالحجم نفسه على أي مسافة.
يرث PanelContainer
var plate := GoNameplate.make("BOT RED", Color(0.86, 0.24, 0.24))
plate.follow(camera, anchor.global_position)
GoNoticeFeed
شريط إشعارات من سطر واحد، مثل شريط الإقصاءات، تتراكم وتظهر تدريجيًا وتختفي وحدها.
يرث VBoxContainer
var feed := GoNoticeFeed.new()
feed.push("RED knocked out BLUE")
feed.push("YOU knocked out GREEN", true)
GoTouchButton
زر دائري للإبهام على الشاشات اللمسية، مع حلقة انتظار ونبضة عند الجاهزية وتصويب بالسحب.
يرث Control
var jump := GoTouchButton.make(&"btn_jump", "JUMP", 86.0)
jump.pressed_down.connect(send_jump)
var skill := GoTouchButton.make(&"btn_repulse", "REPULSE", 92.0)
skill.cooling = true
skill.cooldown = 0.4
GoSpotlight
يعتّم الشاشة حول عنصر واحد ويحيطه بإطار؛ يتلاشى التعتيم ويبقى الإطار.
يرث Control
var spot := GoSpotlight.new()
hud.add_child(spot)
spot.follow(jump_button, true)
GoEditFrame
الإطار الذي يرسمه محرر التخطيط حول كل عنصر يستطيع اللاعب تحريكه: عادي، محدد مع مقابض، تحذير، مخفي. لا يستقبل أي إدخال.
يرث Control
var frame := GoEditFrame.new()
editor.add_child(frame)
frame.circle = true
frame.state = GoEditFrame.State.SELECTED
GoGestureHint
أطراف أصابع شبحية تكرر إيماءة لمس: إصبعان يتباعدان ثم يتقاربان لتعليم القرص للتكبير. لا تستقبل أي إدخال.
يرث Control
var hint := GoGestureHint.new()
hud.add_child(hint)
hint.position = Vector2(480, 0)
hint.size = Vector2(480, 540)
hint.play()
GoTaskCard
بطاقة درس في الشرح التعليمي: الخطوة والعنوان وما يجب فعله وشارات أجزاء تُعلَّم وتلميح؛ تُطوى في صف واحد.
يرث PanelContainer
var card := GoTaskCard.new()
card.caption = "TRAINING · STEP 1/12"
card.title = "MOVE"
card.body = "Move with W A S D."
card.set_parts(["W", "A", "S", "D"], [true])
GoPerfReadout
شريط أداء ظاهر دائمًا: الإطارات في الثانية وزمن الإطار والمثلثات واستدعاءات الرسم والعُقد والذاكرة؛ يحمرّ عند هبوط الإطارات.
يرث PanelContainer
var perf := GoPerfReadout.new()
perf.tier_text = "LOW (auto)"
overlay_layer.add_child(perf)
GoSignalBars
مقياس إشارة كما في الهاتف: أعمدة ترتفع من اليسار إلى اليمين، تضيء بالأخضر أو الذهبي أو الأحمر، مع قراءة مثل "48 ms" — زمن الاستجابة في واجهة المباراة.
يرث PanelContainer
var ping := GoSignalBars.make(4, GoSignalBars.Tone.GOOD)
ping.set_reading(2, GoSignalBars.Tone.FAIR, "180 ms")
GoRewardRow
صف لما يكسبه اللاعب بالتقدم: مهمة أو إنجاز مع شريط وجائزة وزر استلام أو علامة صح أو قفل حسب الحالة. ارتفاع ثابت يناسب GoListView.
يرث PanelContainer
var quest := GoRewardRow.make("Win 3 matches", GoIconSet.STAR)
quest.key = "win_3"
quest.set_progress(1, 3)
quest.set_reward(50, GoIconSet.COIN)
quest.set_claim_text("CLAIM")
quest.set_state(GoRewardRow.State.READY)
quest.claim_pressed.connect(func(id: Variant) -> void: server.claim(id))
GoFoldTab
يطوي لوحة واجهة اللعب إلى حبة صغيرة ثم يفتحها: مقبض رفيع بسهم، وعند الطي حبة تحتفظ برمز ونص قصير ومقياس. يعيد التطبيق المضيف ترتيب الواجهة عند fold_changed.
يرث Button
var tab := GoFoldTab.new()
tab.side = SIDE_LEFT
tab.icon_name = GoIconSet.USERS
tab.pill_text = "3"
tab.fold_changed.connect(func(now_folded: bool) -> void: party.visible = not now_folded)
GoMapPreview
خريطة صغيرة للمرحلة: مناطق وروابط ونقاط بداية، وظلّ رمادي عندما تكون مقفلة.
يرث Control
var map := GoMapPreview.new()
map.add_rect(Vector2(0, 0), Vector2(6, 4), Color("#f2b84b"))
map.add_circle(Vector2(18, 0), 5.0, Color("#6fc3ff"))
map.add_link(Vector2(0, 0), Vector2(18, 0), 2.0, Color("#c9a26b"))
map.set_starts(PackedVector2Array([Vector2(-3, 0), Vector2(20, 0)]))
GoRewardCalendar

مكافآت حضور يومية؛ لا يُضغط إلا على اليوم.
يرث VBoxContainer
var attendance := GoRewardCalendar.make(days, claimed_until)
attendance.claimed.connect(func(day: int) -> void: server.claim_day(day))
GoRadar

مخمس الإحصاءات، بخط متقطع لمقارنة العتاد.
يرث Control
var stats := GoRadar.make({"STR": 0.85, "AGI": 0.5, "INT": 0.3, "VIT": 0.7, "LUK": 0.45})
stats.set_compare(with_new_sword)
GoDonut

حصص على شكل شرائح، مع وسيلة إيضاح بالكلمات لا باللون فقط.
يرث Control
var share := GoDonut.make([{"label": "Physical", "value": 620}, {"label": "Magic", "value": 340}])
card.add_child(share.legend())
GoZoomView

قرّب الخريطة بالقرص أو العجلة أو النقر المزدوج؛ وتتحرك داخل حوافها.
يرث Control
var map := GoZoomView.wrap(world_map, 4.0)
map.custom_minimum_size.y = 320
page.add_child(map)
GoStyle.hud_panel · overlay_panel

لوحات تطفو فوق اللعبة ليبقى النص مقروءًا على أي صورة.
دالة من GoStyle
var bars := GoStyle.hud_panel()
var pill := GoStyle.overlay_panel()
المظهر والنظام (9)
GoUi · GoThemePresets

اختر إعدادًا مسبقًا (الافتراضي أو الخيال العلمي أو القروسطي أو Material أو الأطفال أو القصص المصورة أو الآركيد)؛ واقرأ الألوان والمقاسات من الرموز.
يرث RefCounted
GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
var accent := GoUi.color(GoTheme.ACCENT)
var gap := GoUi.metric(GoTheme.GAP)
GoConfig
مورد واحد لكل الإعدادات يبقى بعد تحديث الإضافة.
يرث Resource
GoUi.config.reduce_motion = true
GoUi.config.container_alpha = 1.0
GoUi.refresh()
GoSkin

الأشكال التي يرسمها الكود — الرقائق والخانات وعصا التحكم والأجزاء الجديدة — بأسلوبك.
يرث Resource
class_name MySkin
extends GoSkin
func banner_box() -> StyleBox:
return surface_box(GoTheme.BOX_CARD)
GoIconSet · GoGameIcons

أيقونات بالاسم: المجموعة الافتراضية أو 187 أيقونة ألعاب أو ملفات SVG الخاصة بك.
يرث Resource · RefCounted
GoUi.config.icons = GoGameIcons.icon_set()
var gear := GoUi.icons().node(GoIconSet.SETTINGS, 24)
GoStyleBoxCut · GoStyleBoxBracket · GoStyleBoxMedieval

أوجه مشطوفة وبأقواس ومطروقة للوحاتك.
يرث StyleBox
var face := GoStyleBoxCut.new()
face.cut = 8
panel.add_theme_stylebox_override(&"panel", face)
GoStyleBoxSprite · GoTextureSprite
صورة PNG مرسومة بتسع شرائح، ونظيرها الأيقوني لمقبض شريط التمرير أو المفتاح.
يرث StyleBox
var plate := GoStyleBoxSprite.new()
plate.texture = preload("res://ui/painted/gloss_green.png")
plate.pixels_per_unit = 3.0
button.add_theme_stylebox_override(&"normal", plate)
GoSafeArea · GoScale
النتوءات وشريط الإيماءات ولوحة المفاتيح؛ نقاط التوقف بوحدة dp.
يرث Control · RefCounted
var usable := GoSafeArea.usable_rect(get_viewport())
var size_class := GoScale.breakpoint_for_dp(minf(usable.size.x, usable.size.y)) # by the short side
GoFeedback
إشارات الصوت والاهتزاز تُوجَّه إلى نظام الصوت لديك؛ لا يتضمن gohud أصواتًا.
يرث RefCounted
GoFeedback.sound_handler = func(cue: String) -> void: audio.play_cue(cue)
GoFeedback.haptic_handler = func(ms: int, amplitude: float) -> void: Input.vibrate_handheld(ms, amplitude)
GoBackPolicy
من يملك الآن زر الرجوع في Android وزر Escape، مشتركًا بين النوافذ.
يرث RefCounted
GoBackPolicy.acquire(get_tree())





















