From: Ian Jackson Date: Fri, 12 Mar 2021 01:06:04 +0000 (+0000) Subject: hidden, pos: break out PieceRenderInstructions::pos_zlevel() X-Git-Tag: otter-0.4.0~136 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=d9925617f65de9f2cbc4e021eb63ff7fd0a1398b;p=otter.git hidden, pos: break out PieceRenderInstructions::pos_zlevel() nfc Signed-off-by: Ian Jackson --- diff --git a/src/gamestate.rs b/src/gamestate.rs index 75f55762..fb690c83 100644 --- a/src/gamestate.rs +++ b/src/gamestate.rs @@ -304,11 +304,8 @@ impl GPiece { pub fn prep_piecestate(&self, ioccults: &IOccults, ipc: &IPiece, pri: &PieceRenderInstructions) -> PreparedPieceState { - use PriOcculted as PO; - let (pos, zlevel) = match &pri.occulted { - PO::Visible | PO::Occulted => (self.pos, self.zlevel.clone()), - PO::Displaced(pos, zlevel) => (*pos, zlevel.clone()), - }; + let (pos, zlevel) = pri.pos_zlevel(self); + dbgc!(pos, pri, self, ioccults, ipc); PreparedPieceState { pos : pos, held : self.held, @@ -428,6 +425,13 @@ impl PieceRenderInstructions { } } + pub fn pos_zlevel(&self, gpc: &GPiece) -> (Pos, ZLevel) { + use PriOcculted as PO; + match &self.occulted { + PO::Visible | PO::Occulted => (gpc.pos, gpc.zlevel.clone()), + PO::Displaced(pos, zlevel) => (*pos, zlevel.clone()), + } + } #[throws(IE)] pub fn make_defs<'p>(&self, ioccults: &IOccults,