From 8ea776a18e7e54191a4b10590f4525de12f7d408 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 3 Jan 2021 00:59:28 +0000 Subject: [PATCH] add links to game state Signed-off-by: Ian Jackson --- daemon/cmdlistener.rs | 1 + src/gamestate.rs | 8 ++++++++ src/global.rs | 1 + 3 files changed, 10 insertions(+) diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index bb1ecec7..b56ae5ff 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -160,6 +160,7 @@ fn execute(cs: &mut CommandStream, cmd: MgmtCommand) -> MgmtResponse { log: default(), gen: Generation(0), max_z: default(), + links: default(), }; let acl = default(); diff --git a/src/gamestate.rs b/src/gamestate.rs index 7ac57e15..4c4a3582 100644 --- a/src/gamestate.rs +++ b/src/gamestate.rs @@ -52,6 +52,7 @@ pub struct GameState { pub log: VecDeque<(Generation, Arc)>, pub max_z: ZCoord, pub players: DenseSlotMap, + #[serde(default)] pub links: HashMap, } #[derive(Debug,Serialize,Deserialize,Clone)] @@ -83,6 +84,13 @@ pub struct CommittedLogEntry { pub logent: LogEntry, } +#[derive(Copy,Clone,Debug,Eq,PartialEq,Ord,PartialOrd,Hash)] +#[derive(Serialize,Deserialize)] +pub enum LinkKind { + Voice, + Info, +} + // ---------- piece trait, and rendering ---------- #[typetag::serde] diff --git a/src/global.rs b/src/global.rs index 2c5cc462..192cce29 100644 --- a/src/global.rs +++ b/src/global.rs @@ -559,6 +559,7 @@ impl<'ig> InstanceGuard<'ig> { table_size: self.c.g.gs.table_size, gen: self.c.g.gs.gen, max_z: self.gs.max_z.clone(), + links: self.gs.links.clone(), players, // These have special handling log: default(), -- 2.30.2