log: default(),
gen: Generation(0),
max_z: default(),
+ occults: default(),
};
let acl = default();
pub log: VecDeque<(Generation, Arc<CommittedLogEntry>)>,
pub max_z: ZCoord,
pub players: DenseSlotMap<PlayerId, GPlayerState>,
+ pub occults: GameOccults,
}
#[derive(Debug,Serialize,Deserialize,Clone)]
// These have special handling
log: default(),
pieces: default(),
+ occults: default(),
};
let held_by_old = |p: &PieceState| if_chain! {
let mut swap_things = |ig: &mut InstanceGuard| {
mem::swap(&mut ig.c.g.gs.log, &mut gs.log );
mem::swap(&mut ig.c.g.gs.pieces, &mut gs.pieces);
+ mem::swap(&mut ig.c.g.gs.occults,&mut gs.occults);
mem::swap(&mut ig.c.g.gs, &mut gs, );
};
swap_things(self);
}
}
+#[derive(Clone,Debug,Default,Serialize,Deserialize)]
+pub struct GameOccults {
+ // todo
+}
pub use crate::error::*;
pub use crate::gamestate::*;
pub use crate::global::*;
-pub use crate::hidden::PerPlayerIdMap;
+pub use crate::hidden::*;
pub use crate::keydata::*;
pub use crate::lens::*;
pub use crate::mgmtchannel::*;