From 478bf48a5a598d7cf4b9e753878e8f3e52a5c709 Mon Sep 17 00:00:00 2001 From: Lambdax <91626975+OfficialLambdax@users.noreply.github.com> Date: Thu, 23 Nov 2023 09:44:49 +0100 Subject: [PATCH] to broadcast --- src/server/mod.rs | 18 ++++++------------ src/server/packet.rs | 4 ++-- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/server/mod.rs b/src/server/mod.rs index 84bc645..3f2eb16 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -507,12 +507,9 @@ impl Server { } info!("Disconnecting client {}...", id); - for client in &self.clients { - if client.id == i as u8 {continue} - client.queue_packet(Packet::Notification(NotificationPacket::left( - self.clients[i].info.as_ref().unwrap().username.clone() - ))).await; - } + self.broadcast(Packet::Notification(NotificationPacket::player_left( // broadcast left message + self.clients[i].info.as_ref().unwrap().username.clone() + )), Some(i as u8)).await; if i == self.clients.len() - 1 { self.clients.remove(i); @@ -810,12 +807,9 @@ impl Server { )))) .await; - for client in &self.clients { // welcome the player - if client.id == client_idx as u8 {continue} - client.queue_packet(Packet::Notification(NotificationPacket::welcome( - self.clients[client_idx].info.as_ref().unwrap().username.clone() - ))).await; - } + self.broadcast(Packet::Notification(NotificationPacket::player_welcome( // welcome the player + self.clients[client_idx].info.as_ref().unwrap().username.clone() + )), Some(client_idx as u8)).await; // TODO: Sync all existing cars on server (this code is broken) for client in &self.clients { diff --git a/src/server/packet.rs b/src/server/packet.rs index 9314554..a4ecb8b 100644 --- a/src/server/packet.rs +++ b/src/server/packet.rs @@ -54,10 +54,10 @@ impl NotificationPacket { pub fn new>(msg: S) -> Self { Self(format!("J{}", msg.into())) } - pub fn welcome>(msg: S) -> Self { + pub fn player_welcome>(msg: S) -> Self { Self(format!("JWelcome {}!", msg.into())) } - pub fn left>(msg: S) -> Self { + pub fn player_left>(msg: S) -> Self { Self(format!("L{} left the server!", msg.into())) } }