diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-10-30 19:35:00 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-10-30 19:35:02 +0100 |
| commit | 2558e05b3661d3812ca6d417e5604da615124644 (patch) | |
| tree | 30e09a9b63f6a66d1081c84f513541fc5446d539 /client | |
| parent | d861319090fa6378aabf4fd102566083b915c1a5 (diff) | |
| download | hurrycurry-2558e05b3661d3812ca6d417e5604da615124644.tar hurrycurry-2558e05b3661d3812ca6d417e5604da615124644.tar.bz2 hurrycurry-2558e05b3661d3812ca6d417e5604da615124644.tar.zst | |
Add connection keepalives; Disconnect reasions
Diffstat (limited to 'client')
| -rw-r--r-- | client/game.gd | 2 | ||||
| -rw-r--r-- | client/multiplayer.gd | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/client/game.gd b/client/game.gd index 62a25f18..2c65138d 100644 --- a/client/game.gd +++ b/client/game.gd @@ -387,6 +387,8 @@ func handle_packet(p): $Environment.update(p.effects) "redirect": get_parent().replace_menu("res://gui/menus/game.tscn", p.uri[0]) + "disconnect": + get_parent().replace_menu("res://gui/menus/error.tscn", [tr(p.reason.translation.id), menu.data]) "replay_start": is_replay = true "replay_stop": diff --git a/client/multiplayer.gd b/client/multiplayer.gd index 3ee303ee..aa9c2c75 100644 --- a/client/multiplayer.gd +++ b/client/multiplayer.gd @@ -49,10 +49,9 @@ func _process(_delta): if connected: socket.poll() var state = socket.get_ready_state() - if state == WebSocketPeer.STATE_OPEN: - while socket.get_available_packet_count(): - handle_packet(socket.get_packet()) - elif state == WebSocketPeer.STATE_CLOSED: + while socket.get_available_packet_count(): + handle_packet(socket.get_packet()) + if state == WebSocketPeer.STATE_CLOSED: var code = socket.get_close_code() var reason = socket.get_close_reason() if code == socket.STATE_CLOSED else tr("c.error.websocket.unavailable") connection_closed.emit(tr("c.error.websocket").format([code, reason, code != -1])) |