feat: update 2.1.9
This commit is contained in:
@@ -745,7 +745,8 @@ func _on_match_joined(match_id: String) -> void:
|
||||
"id": my_id,
|
||||
"name": local_player_name,
|
||||
"is_ready": false,
|
||||
"character": available_characters[local_character_index]
|
||||
"character": available_characters[local_character_index],
|
||||
"nakama_id": NakamaManager.session.user_id if NakamaManager.session else ""
|
||||
}
|
||||
players_in_room.append(my_data)
|
||||
|
||||
@@ -755,16 +756,17 @@ func _on_match_joined(match_id: String) -> void:
|
||||
# Client will request room info when peer connection is established
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func request_room_info(requester_id: int, requester_name: String, requester_character: String) -> void:
|
||||
"""Client requests room info from host, sending their name and character."""
|
||||
func request_room_info(requester_id: int, requester_name: String, requester_character: String, requester_nakama_id: String = "") -> void:
|
||||
"""Client requests room info from host, sending their name, character and nakama_id."""
|
||||
if not multiplayer.is_server():
|
||||
return
|
||||
|
||||
# Update the player's name and character in the list
|
||||
# Update the player's name, character and nakama_id in the list
|
||||
for player in players_in_room:
|
||||
if player["id"] == requester_id:
|
||||
player["name"] = requester_name
|
||||
player["character"] = requester_character
|
||||
player["nakama_id"] = requester_nakama_id
|
||||
break
|
||||
|
||||
# Send room data to requester
|
||||
@@ -805,7 +807,8 @@ func _on_peer_connected(peer_id: int) -> void:
|
||||
"id": peer_id,
|
||||
"name": "Player %d" % peer_id,
|
||||
"is_ready": false,
|
||||
"character": available_characters[0]
|
||||
"character": available_characters[0],
|
||||
"nakama_id": ""
|
||||
}
|
||||
players_in_room.append(new_player)
|
||||
|
||||
@@ -818,8 +821,9 @@ func _on_peer_connected(peer_id: int) -> void:
|
||||
if peer_id == 1 and not is_host:
|
||||
# Wait a frame to ensure connection is stable
|
||||
await get_tree().process_frame
|
||||
# Send our actual name and character to the host
|
||||
rpc_id(1, "request_room_info", multiplayer.get_unique_id(), local_player_name, available_characters[local_character_index])
|
||||
# Send our actual name, character, and nakama_id to the host
|
||||
var my_nakama_id: String = NakamaManager.session.user_id if NakamaManager.session else ""
|
||||
rpc_id(1, "request_room_info", multiplayer.get_unique_id(), local_player_name, available_characters[local_character_index], my_nakama_id)
|
||||
|
||||
func _on_peer_disconnected(peer_id: int) -> void:
|
||||
"""Called when peer disconnects."""
|
||||
|
||||
Reference in New Issue
Block a user