feat: 2.3.1
This commit is contained in:
+42
-10
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user