Merging networking features #5

Merged
gskeough merged 27 commits from feature/godot-steam-integration into develop 2024-12-14 03:37:16 +00:00
Showing only changes of commit 1c51964543 - Show all commits

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)
@ -32,8 +32,7 @@ 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: