From 1a45b0e0f5de785ddf268d7371f0cdaeafe9daa7 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 20 Jul 2024 19:29:41 +0200 Subject: refactor score code (and break things) --- server/protocol/src/lib.rs | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'server/protocol/src/lib.rs') diff --git a/server/protocol/src/lib.rs b/server/protocol/src/lib.rs index cf422761..61efd74f 100644 --- a/server/protocol/src/lib.rs +++ b/server/protocol/src/lib.rs @@ -193,12 +193,7 @@ pub enum PacketC { ServerMessage { text: String, }, - Score { - points: i64, - demands_failed: usize, - demands_completed: usize, - time_remaining: Option, - }, + Score(Score), SetIngame { state: bool, lobby: bool, @@ -206,12 +201,33 @@ pub enum PacketC { Error { message: String, }, + Menu(Menu), MovementSync, /// For use in replay sessions only ReplayStart, } +#[derive(Debug, Clone, Serialize, Deserialize, Encode, Decode)] +#[serde(rename_all = "snake_case", tag = "type", content = "data")] +pub enum Menu { + Book, + Score(Score), +} + +#[derive(Debug, Clone, Serialize, Deserialize, Encode, Decode, Default)] +pub struct Score { + pub time_remaining: f64, + pub stars: u8, + pub points: i64, + pub demands_failed: usize, + pub demands_completed: usize, + pub players: usize, + pub active_recipes: usize, + pub passive_recipes: usize, + pub instant_recipes: usize, +} + #[derive(Debug, Clone, Serialize, Deserialize, Encode, Decode, Copy, PartialEq, Eq, Hash)] #[serde(rename_all = "snake_case")] pub enum ItemLocation { -- cgit v1.2.3-70-g09d2