diff --git a/ruf-der-pilze/scripts/network_manager.gd b/ruf-der-pilze/scripts/network_manager.gd index 2928042..7d3f4ea 100644 --- a/ruf-der-pilze/scripts/network_manager.gd +++ b/ruf-der-pilze/scripts/network_manager.gd @@ -8,6 +8,13 @@ signal connection_failed() var peers: Dictionary = {} var my_id: int = 0 +var players: Dictionary = {} # peer_id (int) → {name: String, role: String} + +signal player_joined(peer_id: int, player_name: String, role: String) +signal player_left(peer_id: int) +signal player_list_synced() +signal game_started() + func start_server(port: int, max_clients: int) -> void: var peer := ENetMultiplayerPeer.new() @@ -41,7 +48,10 @@ func _on_peer_connected(id: int) -> void: func _on_peer_disconnected(id: int) -> void: peers.erase(id) + players.erase(id) peer_disconnected.emit(id) + player_left.emit(id) + _broadcast_player_left.rpc(id) print("[Server] Peer getrennt: %d" % id)