diff options
-rw-r--r-- | server/src/game.rs | 11 | ||||
-rw-r--r-- | server/src/protocol.rs | 1 | ||||
-rw-r--r-- | test-client/protocol.ts | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/server/src/game.rs b/server/src/game.rs index d8184c1e..7609b965 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -88,8 +88,10 @@ impl Game { } fn unload(&mut self) { - self.packet_out - .push_back(PacketC::SetIngame { state: false }); + self.packet_out.push_back(PacketC::SetIngame { + state: false, + lobby: false, + }); for (id, _) in self.players.drain() { self.packet_out.push_back(PacketC::RemovePlayer { id }) } @@ -209,7 +211,10 @@ impl Game { } } out.push(self.score()); - out.push(PacketC::SetIngame { state: true }); + out.push(PacketC::SetIngame { + state: true, + lobby: self.demand.is_none(), + }); out } diff --git a/server/src/protocol.rs b/server/src/protocol.rs index facfa5ab..49171942 100644 --- a/server/src/protocol.rs +++ b/server/src/protocol.rs @@ -139,6 +139,7 @@ pub enum PacketC { }, SetIngame { state: bool, + lobby: bool, }, Error { message: String, diff --git a/test-client/protocol.ts b/test-client/protocol.ts index ebfd9232..53a53500 100644 --- a/test-client/protocol.ts +++ b/test-client/protocol.ts @@ -49,7 +49,7 @@ export type PacketC = | { type: "communicate", player: PlayerID, message?: Message, persist: boolean } // A player wants to communicate something, message is null when cleared | { type: "server_message", text: string } // Text message from the server | { type: "score", points: number, demands_failed: number, demands_completed: number, time_remaining?: number } // Supplies information for score OSD - | { type: "set_ingame", state: boolean } // Set to false when entering the game or switching maps + | { type: "set_ingame", state: boolean, lobby: boolean } // Set to false when entering the game or switching maps | { type: "error", message: string } // Your client did something wrong. export type Message = |