summaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-09-02 13:21:42 +0200
committermetamuffin <metamuffin@disroot.org>2024-09-02 14:18:02 +0200
commite9e1692fb34b661e7c928c9b4b440dcb655eb062 (patch)
treebdee10693f4fd04501214a9d3cdaa086dd6f57d9 /server/src
parente769071244de0bdfe53c2b570b8cc6629cc5ec6c (diff)
downloadhurrycurry-e9e1692fb34b661e7c928c9b4b440dcb655eb062.tar
hurrycurry-e9e1692fb34b661e7c928c9b4b440dcb655eb062.tar.bz2
hurrycurry-e9e1692fb34b661e7c928c9b4b440dcb655eb062.tar.zst
save finishes to scoreboard
Diffstat (limited to 'server/src')
-rw-r--r--server/src/server.rs10
-rw-r--r--server/src/state.rs1
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() {