refactor: improve multiplayer connection lifecycle

* Move client/server connection handling into game-specific networking classes
* Add multiplayer data reset for disconnected clients
* Clean up invalid MessageBus listeners after disconnects
* Persist lobby host address and port in game data
* Standardize the default server port to 8080
* Increase server address input length to support valid addresses
* Remove obsolete connection and match initialization logic from base networking
This commit is contained in:
2026-08-10 00:40:45 -05:00
parent 93a2be399c
commit 26dcfe0d1b
8 changed files with 59 additions and 32 deletions

View File

@@ -10,11 +10,18 @@ func setup_signals() -> void:
MessageBus.subscribe("game_wait_for_connection", _wait_for_connection)
MessageBus.subscribe("game_close_connection", _wait_close_connection)
MessageBus.subscribe("game_peer_disconnected", _on_game_peer_disconnected)
func _start_client(address: String = "127.0.0.1", port: int = 8080) -> void:
if peer: return
start_client(address, port)
func _on_game_peer_disconnected() -> void:
close_connection()
Globals.multiplayer_data.reset()
Globals.lobby_data.go_back_to_match_screen()
MessageBus.clear_voided_listeners()
func client_connected_to_server() -> void:
push_warning("Connected to server!")