From d1bbc09e4f88d04b7cda56c1040c305270a3eeda Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 29 Sep 2025 23:25:13 +0200 Subject: Delay announcement when paused --- server/src/server.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'server/src/server.rs') diff --git a/server/src/server.rs b/server/src/server.rs index 22ad5d23..57b26122 100644 --- a/server/src/server.rs +++ b/server/src/server.rs @@ -47,11 +47,17 @@ pub struct ConnectionData { pub ready: bool, } +pub enum AnnounceState { + Queued, + Running(f32), + Done, +} + pub struct Server { pub tx: Sender, pub connections: HashMap, pub paused: bool, - pub announce_timer: f32, + pub announce_state: AnnounceState, pub game: Game, @@ -326,7 +332,7 @@ impl Server { game: Game::default(), index: DataIndex::load().context("Failed to load data index")?, tx, - announce_timer: 0., + announce_state: AnnounceState::Done, packet_out: VecDeque::new(), connections: HashMap::new(), data: Serverdata::default().into(), @@ -386,6 +392,11 @@ impl Server { }); } self.connections.values_mut().for_each(|c| c.ready = false); + self.announce_state = if self.game.lobby { + AnnounceState::Done + } else { + AnnounceState::Queued + }; self.update_paused(); } -- cgit v1.2.3-70-g09d2