Files
tekton/scripts/ui/invite_friends_dialog.gd
2026-04-29 01:36:49 +08:00

28 lines
786 B
GDScript

extends Window
signal closed
@onready var _friend_rows: VBoxContainer = %FriendRows
@onready var _no_friends_label: Label = %NoFriendsLabel
@onready var _close_btn: Button = %CloseBtn
const INVITE_ROW_SCENE := preload("res://scenes/ui/invite_row.tscn")
func _ready() -> void:
_close_btn.pressed.connect(func(): emit_signal("closed"))
close_requested.connect(func(): emit_signal("closed"))
func open(friends: Array, match_id: String) -> void:
if friends.is_empty():
_no_friends_label.visible = true
popup_centered()
return
_no_friends_label.visible = false
for f in friends:
var row: Control = INVITE_ROW_SCENE.instantiate()
_friend_rows.add_child(row)
row.setup(f.get("username", "?"), f.get("user_id", ""), match_id)
popup_centered()