feat: 2.3.1

This commit is contained in:
2026-05-11 17:24:47 +08:00
parent 57e56412e0
commit 13f3c3d591
733 changed files with 17957 additions and 798 deletions
+42 -10
View File
@@ -1,12 +1,12 @@
extends HBoxContainer
extends PanelContainer
## FriendRow — Single row in the friends list inside SocialPanel.
@onready var _name_label: Label = %NameLabel
@onready var _state_label: Label = %StateLabel
@onready var _dm_btn: Button = %DMBtn
@onready var _accept_btn: Button = %AcceptBtn
@onready var _decline_btn: Button = %DeclineBtn
@onready var _remove_btn: Button = %RemoveBtn
@onready var _dm_btn: TextureButton = %DMBtn
@onready var _accept_btn: TextureButton = %AcceptBtn
@onready var _decline_btn: TextureButton = %DeclineBtn
@onready var _remove_btn: TextureButton = %RemoveBtn
var _user_id: String
var _username: String
@@ -19,17 +19,49 @@ func setup(uid: String, uname: String, state: int, panel: Control) -> void:
_name_label.text = uname
_dm_btn.visible = false
_accept_btn.visible = false
_decline_btn.visible = false
_remove_btn.visible = false
_state_label.visible = false
match state:
-1: # Search result (Not friend)
_accept_btn.visible = true
if not _accept_btn.pressed.is_connected(_on_accept):
_accept_btn.pressed.connect(_on_accept)
FriendManager.STATE_FRIEND:
_dm_btn.visible = true
_state_label.visible = true
_dm_btn.visible = true
_remove_btn.visible = true
_dm_btn.pressed.connect(func(): panel.call("open_dm", uid, uname))
_remove_btn.pressed.connect(func(): FriendManager.remove_friend(uid))
if not _dm_btn.pressed.is_connected(_on_dm):
_dm_btn.pressed.connect(_on_dm)
if not _remove_btn.pressed.is_connected(_on_remove):
_remove_btn.pressed.connect(_on_remove)
FriendManager.STATE_INVITE_OUT:
_state_label.text = "(invite sent)"
_state_label.visible = true
FriendManager.STATE_INVITE_IN:
_state_label.text = "Incoming Request"
_state_label.visible = true
_accept_btn.visible = true
_decline_btn.visible = true
_accept_btn.pressed.connect(func(): FriendManager.add_friend_by_id(uid))
_decline_btn.pressed.connect(func(): FriendManager.remove_friend(uid))
if not _accept_btn.pressed.is_connected(_on_accept):
_accept_btn.pressed.connect(_on_accept)
if not _decline_btn.pressed.is_connected(_on_remove):
_decline_btn.pressed.connect(_on_remove)
func _on_dm():
_panel.call("open_dm", _user_id, _username)
func _on_remove():
FriendManager.remove_friend(_user_id)
queue_free()
func _on_accept():
FriendManager.add_friend_by_id(_user_id)
_accept_btn.visible = false
_decline_btn.visible = false
_dm_btn.visible = true
_remove_btn.visible = true
_state_label.text = "LAST ONLINE: Just now"