Moved avatar loading to be cached when a new user joins
This commit is contained in:
parent
02617f2b5b
commit
39ae47a520
@ -3,8 +3,8 @@ extends Node
|
||||
|
||||
const PACKET_READ_LIMIT: int = 32
|
||||
|
||||
var steam_id: int
|
||||
var username: String
|
||||
var my_steam_id: int
|
||||
var my_username: String
|
||||
var my_avatar_texture: ImageTexture
|
||||
|
||||
var is_host: bool = false
|
||||
@ -24,9 +24,9 @@ func _ready() -> void:
|
||||
|
||||
|
||||
func _initialize() -> void:
|
||||
steam_id = Steam.getSteamID()
|
||||
username = Steam.getFriendPersonaName(steam_id)
|
||||
GameConsole.print_line("Steam ID: " + username)
|
||||
my_steam_id = Steam.getSteamID()
|
||||
my_username = Steam.getFriendPersonaName(my_steam_id)
|
||||
GameConsole.print_line("Steam ID: " + my_username)
|
||||
|
||||
Steam.getPlayerAvatar()
|
||||
Steam.avatar_loaded.connect(_on_avatar_loaded)
|
||||
@ -52,7 +52,7 @@ func _on_avatar_loaded(user_id: int, avatar_size: int, avatar_buffer: PackedByte
|
||||
|
||||
if avatar_image != null:
|
||||
var avatar_texture = ImageTexture.create_from_image(avatar_image)
|
||||
if user_id == steam_id:
|
||||
if user_id == my_steam_id:
|
||||
my_avatar_texture = avatar_texture
|
||||
|
||||
GameConsole.print_line("Avatar loaded for: " + Steam.getFriendPersonaName(user_id))
|
||||
@ -65,7 +65,7 @@ func _on_lobby_created(connection_status: int, this_lobby_id: int) -> void:
|
||||
if connection_status == 1:
|
||||
lobby_id = this_lobby_id
|
||||
Steam.setLobbyJoinable(lobby_id, true)
|
||||
Steam.setLobbyData(lobby_id, "host", str(steam_id))
|
||||
Steam.setLobbyData(lobby_id, "host", str(my_steam_id))
|
||||
var set_relay: bool = Steam.allowP2PPacketRelay(true)
|
||||
|
||||
GameConsole.print_line("Lobby created: " + str(lobby_id))
|
||||
@ -95,7 +95,7 @@ func _on_p2p_session_request(remote_id: int) -> void:
|
||||
|
||||
|
||||
func make_p2p_handshake() -> void:
|
||||
send_p2p_packet(0, {"message" : "handshake", "steam_id" : steam_id, "username" : username})
|
||||
send_p2p_packet(0, {"message" : "handshake", "steam_id" : my_steam_id, "username" : my_username})
|
||||
|
||||
|
||||
func create_lobby() -> void:
|
||||
@ -132,7 +132,7 @@ func send_p2p_packet(this_target: int, packet_data: Dictionary, send_type: int =
|
||||
if this_target == 0:
|
||||
if lobby_members.size() > 1:
|
||||
for member in lobby_members:
|
||||
if member["steam_id"] != steam_id:
|
||||
if member["steam_id"] != my_steam_id:
|
||||
Steam.sendP2PPacket(member["steam_id"], this_data, send_type, channel)
|
||||
else:
|
||||
Steam.sendP2PPacket(this_target, this_data, send_type, channel)
|
||||
|
@ -20,7 +20,7 @@ func _ready() -> void:
|
||||
var user_box1: Node = user_box_prefab.instantiate()
|
||||
users_list.add_child(user_box1)
|
||||
|
||||
user_box1.get_node("Username").text = network_manager.username
|
||||
user_box1.get_node("Username").text = network_manager.my_username
|
||||
|
||||
if network_manager.my_avatar_texture == null:
|
||||
get_tree().create_timer(0.005).timeout.connect(
|
||||
@ -47,7 +47,8 @@ func _on_join_button_pressed() -> void:
|
||||
|
||||
|
||||
func _on_user_joined_lobby(user_id: int, username: String) -> void:
|
||||
|
||||
if user_id == network_manager.MY_steam_id:
|
||||
return
|
||||
print(user_id, Steam.getFriendPersonaName(user_id))
|
||||
var user_box: Node = user_box_prefab.instantiate()
|
||||
user_box.name = "UserBox_" + str(user_id)
|
||||
|
@ -33,7 +33,7 @@ func _ready() -> void:
|
||||
func init_network_manager() -> void:
|
||||
network_manager = %NetworkManager
|
||||
if network_manager != null:
|
||||
username = network_manager.username
|
||||
username = network_manager.my_username
|
||||
player_tag.text = username
|
||||
else:
|
||||
player_tag.text = "Player"
|
||||
|
Loading…
Reference in New Issue
Block a user