summaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/src')
-rw-r--r--server/src/entity/campaign.rs3
-rw-r--r--server/src/server.rs4
2 files changed, 5 insertions, 2 deletions
diff --git a/server/src/entity/campaign.rs b/server/src/entity/campaign.rs
index 5838d3ce..6683716d 100644
--- a/server/src/entity/campaign.rs
+++ b/server/src/entity/campaign.rs
@@ -68,7 +68,8 @@ impl Entity for Gate {
self.unlocked = self.condition.check(c.scoreboard);
if !self.unlocked {
c.game
- .set_tile(self.location, Some(self.blocker_tile), c.packet_out)
+ .set_tile(self.location, Some(self.blocker_tile), c.packet_out);
+ c.packet_out.push_back(PacketC::FlushMap); // TODO dont send too often
}
}
Ok(())
diff --git a/server/src/server.rs b/server/src/server.rs
index 8257a420..1d57a200 100644
--- a/server/src/server.rs
+++ b/server/src/server.rs
@@ -227,6 +227,7 @@ impl GameServerExt for Game {
}
}
}
+ out.push(PacketC::FlushMap);
out.push(PacketC::Score(self.score.clone()));
out.push(PacketC::SetIngame {
state: true,
@@ -272,6 +273,7 @@ impl GameServerExt for Game {
}
}
+ /// Dont forget to flush
fn set_tile(
&mut self,
tile: IVec2,
@@ -298,7 +300,7 @@ impl GameServerExt for Game {
self.tiles.get(&(tile + IVec2::Y)).map(|e| e.kind),
self.tiles.get(&(tile + IVec2::X)).map(|e| e.kind),
],
- })
+ });
}
}