feat: update 2.1.9

This commit is contained in:
2026-04-29 01:36:49 +08:00
parent 1585b91509
commit 8a2f865ad8
76 changed files with 2628 additions and 39 deletions
+11 -7
View File
@@ -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."""