From e9e1692fb34b661e7c928c9b4b440dcb655eb062 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 2 Sep 2024 13:21:42 +0200 Subject: save finishes to scoreboard --- server/src/server.rs | 10 ++++++++++ server/src/state.rs | 1 + 2 files changed, 11 insertions(+) (limited to 'server/src') diff --git a/server/src/server.rs b/server/src/server.rs index 90a30891..bee94b0e 100644 --- a/server/src/server.rs +++ b/server/src/server.rs @@ -650,6 +650,16 @@ impl Server { }; self.packet_out .push_back(PacketC::Menu(Menu::Score(self.game.score.clone()))); + self.scoreboard.insert( + &self.game.data.current_map, + self.game + .players + .values() + .filter(|m| m.character >= 0) + .map(|m| m.name.clone()) + .collect(), + self.game.score.clone(), + ); Some(("lobby".to_string(), None)) } else { None diff --git a/server/src/state.rs b/server/src/state.rs index ad22cad2..5e0302b2 100644 --- a/server/src/state.rs +++ b/server/src/state.rs @@ -24,6 +24,7 @@ impl Server { pub async fn tick_outer(&mut self, dt: f32) -> anyhow::Result<()> { let r = self.tick(dt); if let Some((name, timer)) = r { + self.scoreboard.save().await?; self.load(self.index.generate(&name).await?, timer); } while let Some(p) = self.packet_out.pop_front() { -- cgit v1.2.3-70-g09d2