Testing fix for loading new user avatars

This commit is contained in:
Chris Bell 2024-12-12 21:21:52 -06:00
parent b576e32718
commit 1c51964543

View File

@ -12,7 +12,7 @@ extends Control
var avatar_image_cache: Dictionary = {}
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
host_button.button_down.connect(_on_host_button_pressed)
join_button.button_down.connect(_on_join_button_pressed)
@ -33,7 +33,6 @@ func _ready() -> void:
else:
user_box1.get_node("PFP").texture = network_manager.avatar_texture
# Connect the avatar_loaded signal once
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)
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
Steam.getPlayerAvatar(user_id)
while avatar_image_cache[user_id] == null:
await get_tree().create_timer(0.1).timeout
return avatar_image_cache[user_id]
var timer: SceneTreeTimer = get_tree().create_timer(0.1)
timer.timeout.connect(
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: