}
}
-impl GPiece {
+impl PieceRenderInstructions {
#[throws(IE)]
pub fn prep_piecestate(&self, ioccults: &IOccults,
- ipc: &IPiece, pri: &PieceRenderInstructions)
+ gpc: &GPiece, ipc: &IPiece)
-> PreparedPieceState {
- let (pos, zlevel) = pri.pos_zlevel(self);
- dbgc!(pos, pri, self, ioccults, ipc);
+ let pri = self;
+ let (pos, zlevel) = pri.pos_zlevel(gpc);
+ dbgc!(pos, pri, gpc, ioccults, ipc);
PreparedPieceState {
pos : pos,
- held : self.held,
- svg : pri.make_defs(ioccults, self, ipc)?,
+ held : gpc.held,
+ svg : pri.make_defs(ioccults, gpc, ipc)?,
z : zlevel.z,
zg : zlevel.zg,
- angle : pri.angle(self).to_compass(),
- pinned : self.pinned,
- uos : pri.ui_operations(self, ipc.p.borrow())?,
+ angle : pri.angle(gpc).to_compass(),
+ pinned : gpc.pinned,
+ uos : pri.ui_operations(gpc, ipc.p.borrow())?,
}
}
-}
-impl PieceRenderInstructions {
pub fn new_visible(vpid: VisiblePieceId) -> PieceRenderInstructions {
PieceRenderInstructions { vpid, occulted: PriOcculted::Visible }
}
#[throws(InternalError)]
fn piece_update_player(ioccults: &IOccults,
max_z: &mut ZCoord,
- pc: &mut GPiece,
+ gpc: &mut GPiece,
ipc: &IPiece,
op: PieceUpdateOp<(),()>,
pri: &Option<PieceRenderInstructions>)
{
let pri = match pri { Some(pri) => pri, None => return None };
- max_z.update_max(&pc.zlevel.z);
+ max_z.update_max(&gpc.zlevel.z);
let op = op.try_map(
|()|{
- let ns = pc.prep_piecestate(ioccults, ipc, pri)?;
+ let ns = pri.prep_piecestate(ioccults, gpc, ipc)?;
<Result<_,InternalError>>::Ok(ns)
},
|()|{
- Ok(pc.zlevel.clone())
+ Ok(gpc.zlevel.clone())
}
)?;