diff options
Diffstat (limited to 'server/src/game.rs')
-rw-r--r-- | server/src/game.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/server/src/game.rs b/server/src/game.rs index 20f479c7..ad777584 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -188,6 +188,14 @@ impl Game { }) } } + out.push(PacketC::Score { + demands_failed: self.demand.as_ref().map(|d| d.failed).unwrap_or_default(), + demands_completed: self + .demand + .as_ref() + .map(|d| d.completed) + .unwrap_or_default(), + }); out } @@ -388,6 +396,13 @@ impl Game { if let Err(err) = demand.tick(&mut packet_out, &mut self.tiles, &self.data, dt) { warn!("demand tick {err}"); } + if demand.score_changed { + self.packet_out.push_back(PacketC::Score { + demands_failed: demand.failed, + demands_completed: demand.completed, + }); + demand.score_changed = false + } for (player, packet) in packet_out { if let Err(err) = self.packet_in(player, packet) { warn!("demand packet {err}"); |