From d95746b63e8f6a2755f25f2b4641ea4f57ee199e Mon Sep 17 00:00:00 2001 From: Sofia Date: Tue, 4 Aug 2026 20:57:50 +0300 Subject: [PATCH] Use CloseReason correctly --- godot/mesh/soldier_m.tscn | 4 ++-- rust/src/net/network_manager.rs | 8 +++++--- rust/src/net/protocol.rs | 14 ++++++++++---- teanet-rust | 2 +- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/godot/mesh/soldier_m.tscn b/godot/mesh/soldier_m.tscn index f5737a0..5a873ab 100644 --- a/godot/mesh/soldier_m.tscn +++ b/godot/mesh/soldier_m.tscn @@ -3,7 +3,7 @@ [ext_resource type="PackedScene" uid="uid://dk6l25ooah3ap" path="res://assets/SoldierM.fbx" id="1_bn1bx"] [ext_resource type="Texture2D" uid="uid://cbvxh8xp8ilac" path="res://assets/Soldier.png" id="2_n4j5p"] -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_n4j5p"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_smmvf"] resource_local_to_scene = true albedo_texture = ExtResource("2_n4j5p") texture_filter = 0 @@ -31,4 +31,4 @@ bones/20/rotation = Quaternion(-0.14214668, -0.45634764, -0.17772992, 0.86020535 bones/22/position = Vector3(0.012593047, -0.0085772155, 0.0021641199) [node name="Soldier_Male_Mesh" parent="Soldier/Skeleton3D" index="0" unique_id=1117347105] -surface_material_override/0 = SubResource("StandardMaterial3D_n4j5p") +surface_material_override/0 = SubResource("StandardMaterial3D_smmvf") diff --git a/rust/src/net/network_manager.rs b/rust/src/net/network_manager.rs index 64ad17a..769f742 100644 --- a/rust/src/net/network_manager.rs +++ b/rust/src/net/network_manager.rs @@ -112,14 +112,16 @@ impl INode for NetworkManager { while let Some(message) = self.poll() { match &message { - PeerMessage::Disconnected(_, connection_error) => { + PeerMessage::Disconnected(_, connection_error, reason) => { if !self.is_host() { let message = if let Some(err) = connection_error { format!("{}", err) } else { String::new() }; - self.signals().on_client_disconnected().emit(&message); + self.signals() + .on_client_disconnected() + .emit(&format!("{}", reason), &message); } } _ => {} @@ -136,7 +138,7 @@ impl NetworkManager { #[signal] pub fn lobby_joined(); #[signal] - pub fn on_client_disconnected(error: GString); + pub fn on_client_disconnected(reason: GString, error: GString); #[signal] pub fn on_error_hosting_server(error: GString); diff --git a/rust/src/net/protocol.rs b/rust/src/net/protocol.rs index a658cb2..813646f 100644 --- a/rust/src/net/protocol.rs +++ b/rust/src/net/protocol.rs @@ -31,9 +31,12 @@ impl NetworkManager { .clone(); self.update_nick(default_name.clone()); } - teanet::PeerMessage::Disconnected(connection, connection_error) => { + teanet::PeerMessage::Disconnected(connection, connection_error, reason) => { cli.bind_mut().publish_message( - format!("Disconnected from: {}", connection.address), + format!( + "Disconnected from: {}, reason: {}", + connection.address, reason + ), CliColor::Info, ); if let Some(err) = &connection_error { @@ -288,9 +291,12 @@ impl NetworkManager { ); } } - teanet::PeerMessage::Disconnected(connection, connection_error) => { + teanet::PeerMessage::Disconnected(connection, connection_error, reason) => { cli.bind_mut().publish_message( - format!("Client disconnected: {}", connection.address), + format!( + "Client {} disconnected, reason: {}", + connection.address, reason + ), CliColor::Info, ); if let Some(err) = &connection_error { diff --git a/teanet-rust b/teanet-rust index 22b08b7..bcc44fa 160000 --- a/teanet-rust +++ b/teanet-rust @@ -1 +1 @@ -Subproject commit 22b08b78dd0a292cb3fa0eee3da4ef9375ee98e0 +Subproject commit bcc44fa10ed03f14e99aef8880b05d2c11cfa7a8