diff options
author | metamuffin <metamuffin@disroot.org> | 2024-06-04 23:50:24 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-04 23:50:24 +0200 |
commit | 407a90d3b91afbc02fb7209c6928f4b29027a63f (patch) | |
tree | 78335b3ff3cb778565fbb68365c5944dc58192b0 /src/game | |
parent | 1d6dcfc944e904b6f2b2fe389f27b8964e5b4c5c (diff) | |
download | gpn-tron-rust-407a90d3b91afbc02fb7209c6928f4b29027a63f.tar gpn-tron-rust-407a90d3b91afbc02fb7209c6928f4b29027a63f.tar.bz2 gpn-tron-rust-407a90d3b91afbc02fb7209c6928f4b29027a63f.tar.zst |
use messsage packet for messages not chat
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/server.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/game/server.rs b/src/game/server.rs index 1f5cc7b..1b4d373 100644 --- a/src/game/server.rs +++ b/src/game/server.rs @@ -56,14 +56,12 @@ async fn game_loop(config: Config, state: Arc<State>) { struct ClientState { pid: Option<u32>, alive: bool, - username: String, } async fn handle_client(sock: TcpStream, state: Arc<State>) -> Result<()> { let mut cstate = ClientState { pid: None, alive: false, - username: "guest".to_string(), }; let res = handle_client_inner(sock, &state, &mut cstate).await; if let Some(pid) = cstate.pid { @@ -87,8 +85,8 @@ async fn handle_client_inner( loop { tokio::select! { message = chat.recv() => { - let (player, message) = message?; - tx.send_packet(Packet::Chat(format!("{player}: {message}"))).await?; + let (id, message) = message?; + tx.send_packet(Packet::Message { id, message }).await?; }, new_game = ticks.recv() => { let new_game = new_game?; @@ -235,7 +233,9 @@ async fn handle_packet( .await?; return Ok(()); } - let _ = state.chat.send((cstate.username.clone(), message)); + if let Some(pid) = cstate.pid { + let _ = state.chat.send((pid, message)); + } } _ => { tx.send_packet(Packet::Error("clients dont send this packet".to_string())) |