diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-02 13:21:42 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-02 14:18:02 +0200 |
commit | e9e1692fb34b661e7c928c9b4b440dcb655eb062 (patch) | |
tree | bdee10693f4fd04501214a9d3cdaa086dd6f57d9 | |
parent | e769071244de0bdfe53c2b570b8cc6629cc5ec6c (diff) | |
download | hurrycurry-e9e1692fb34b661e7c928c9b4b440dcb655eb062.tar hurrycurry-e9e1692fb34b661e7c928c9b4b440dcb655eb062.tar.bz2 hurrycurry-e9e1692fb34b661e7c928c9b4b440dcb655eb062.tar.zst |
save finishes to scoreboard
-rw-r--r-- | server/src/server.rs | 10 | ||||
-rw-r--r-- | server/src/state.rs | 1 |
2 files changed, 11 insertions, 0 deletions
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() { |