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/spectate | |
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/spectate')
-rw-r--r-- | src/spectate/main.ts | 6 | ||||
-rw-r--r-- | src/spectate/server.rs | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/spectate/main.ts b/src/spectate/main.ts index 2f6de83..b92e5be 100644 --- a/src/spectate/main.ts +++ b/src/spectate/main.ts @@ -8,7 +8,7 @@ type Packet = "tick" | { player: { id: number, name: string } } | { die: number[] } | { win: [number, number] } - | { chat: string } + | { message: { id: number, message: string } } class Snake { parts: { x: number, y: number, dx: number, dy: number }[] = [] @@ -149,8 +149,8 @@ ws.onmessage = message => { const s = snakes.get(d) if (s) s.dead = true } - } else if ("chat" in p) { - chat(p.chat) + } else if ("message" in p) { + chat(`${snakes.get(p.message.id)?.name}: ${p.message.message}`) } } diff --git a/src/spectate/server.rs b/src/spectate/server.rs index 0c2af1d..fdcc815 100644 --- a/src/spectate/server.rs +++ b/src/spectate/server.rs @@ -135,7 +135,10 @@ async fn stats( async fn chat_broadcaster(sstate: Arc<SpectateState>, state: Arc<State>) { let mut messages = state.chat.subscribe(); while let Ok((author, message)) = messages.recv().await { - let p = Packet::Chat(format!("{author}: {message}")); + let p = Packet::Message { + id: author, + message: format!("{author}: {message}"), + }; sstate.past_events.write().await.push(p.clone()); let _ = sstate.events.send(p); } |