From d50cbd513c7208cb2a5c13571a964544b9470017 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 4 Jun 2024 21:53:00 +0200 Subject: show chat and winners --- src/spectate/server.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/spectate/server.rs') diff --git a/src/spectate/server.rs b/src/spectate/server.rs index 11c4d5a..0f51c2a 100644 --- a/src/spectate/server.rs +++ b/src/spectate/server.rs @@ -1,5 +1,5 @@ use super::Config; -use crate::{game::protocol::Packet, State}; +use crate::{game::protocol::Packet, spectate::stats_loop, State}; use anyhow::{anyhow, Result}; use axum::{ extract::{ @@ -26,6 +26,7 @@ struct SpectateState { } pub async fn spectate_server(config: Config, state: Arc) -> Result<()> { + spawn(stats_loop(state.clone())); let sstate = Arc::new(SpectateState { past_events: Default::default(), events: broadcast::channel(512).0, @@ -115,7 +116,8 @@ async fn broadcaster(sstate: Arc, state: Arc) { { let g = state.game.read().await; events.push(Packet::Tick); - if new_game { + if let Some(winner) = new_game { + events.push(Packet::Win(winner.unwrap_or(u32::MAX) as usize, 0)); // TODO packet misuse sstate.past_events.write().await.clear(); events.push(Packet::Game { my_id: 0, -- cgit v1.2.3-70-g09d2