diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2025-02-12 20:05:59 +0100 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2025-02-12 20:05:59 +0100 |
commit | 218748f67a6a6b35efc4a732ad11426d0f528709 (patch) | |
tree | e58504dd758ce6525844872007221cda2a8b6926 /network/network.gd | |
parent | f6c81b065cf4d7f1302a50f2f72cfab32204a1ec (diff) |
Diffstat (limited to 'network/network.gd')
-rw-r--r-- | network/network.gd | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/network/network.gd b/network/network.gd index c6e3351..38eba42 100644 --- a/network/network.gd +++ b/network/network.gd @@ -1,6 +1,8 @@ extends Node +signal connected + var local_player: Player signal current_player_changed @@ -74,8 +76,25 @@ func _on_peer_connected(id: int): sync_current_player.rpc_id(id, current_player_id) player_order.append(id) else: - get_player(id).set_initial_values() + check_is_connected() + #get_player(id).set_initial_values() func _on_peer_disconnected(id: int): %Players.remove_child(%Players.get_node(str(id))) + + +# check is connected +# TODO: check how to correctly do player setup at join + +func check_is_connected(): + server_check_is_connected.rpc_id(1, multiplayer.get_peers().size()) + +@rpc("any_peer", "call_remote") +func server_check_is_connected(remote_peers_size: int): + if multiplayer.get_peers().size() == remote_peers_size: + server_tells_connected.rpc_id(multiplayer.get_remote_sender_id()) + +@rpc("authority", "call_remote") +func server_tells_connected(): + connected.emit() |