Testing fix for loading new user avatars
This commit is contained in:
parent
b576e32718
commit
1c51964543
@ -12,7 +12,7 @@ extends Control
|
|||||||
|
|
||||||
var avatar_image_cache: Dictionary = {}
|
var avatar_image_cache: Dictionary = {}
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
host_button.button_down.connect(_on_host_button_pressed)
|
host_button.button_down.connect(_on_host_button_pressed)
|
||||||
join_button.button_down.connect(_on_join_button_pressed)
|
join_button.button_down.connect(_on_join_button_pressed)
|
||||||
@ -32,8 +32,7 @@ func _ready() -> void:
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
user_box1.get_node("PFP").texture = network_manager.avatar_texture
|
user_box1.get_node("PFP").texture = network_manager.avatar_texture
|
||||||
|
|
||||||
# Connect the avatar_loaded signal once
|
|
||||||
Steam.avatar_loaded.connect(_on_avatar_loaded)
|
Steam.avatar_loaded.connect(_on_avatar_loaded)
|
||||||
|
|
||||||
|
|
||||||
@ -60,15 +59,19 @@ func _on_user_joined_lobby(user_id: int, username: String) -> void:
|
|||||||
users_list.add_child(user_box)
|
users_list.add_child(user_box)
|
||||||
|
|
||||||
user_box.get_node("Username").text = username
|
user_box.get_node("Username").text = username
|
||||||
user_box.get_node("PFP").texture = await load_avatar(user_id)
|
load_avatar(user_id, user_box)
|
||||||
|
|
||||||
|
|
||||||
func load_avatar(user_id: int) -> ImageTexture:
|
func load_avatar(user_id: int, user_box: Node) -> void:
|
||||||
avatar_image_cache[user_id] = null
|
avatar_image_cache[user_id] = null
|
||||||
Steam.getPlayerAvatar(user_id)
|
Steam.getPlayerAvatar(user_id)
|
||||||
while avatar_image_cache[user_id] == null:
|
var timer: SceneTreeTimer = get_tree().create_timer(0.1)
|
||||||
await get_tree().create_timer(0.1).timeout
|
timer.timeout.connect(
|
||||||
return avatar_image_cache[user_id]
|
func():
|
||||||
|
if avatar_image_cache[user_id] != null:
|
||||||
|
user_box.get_node("PFP").texture = avatar_image_cache[user_id]
|
||||||
|
timer.stop()
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
func _on_avatar_loaded(user_id: int, avatar_size: int, avatar_buffer: PackedByteArray) -> void:
|
func _on_avatar_loaded(user_id: int, avatar_size: int, avatar_buffer: PackedByteArray) -> void:
|
||||||
|
Loading…
Reference in New Issue
Block a user