From: Ian Jackson Date: Sun, 3 Jan 2021 00:59:28 +0000 (+0000) Subject: add links to game state X-Git-Tag: otter-0.2.0~50 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=8ea776a18e7e54191a4b10590f4525de12f7d408;p=otter.git add links to game state Signed-off-by: Ian Jackson --- 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(),