From 063993a7d2db56d8827bb3d2c64c4273ba8c721a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 28 Feb 2021 13:16:41 +0000 Subject: [PATCH] refactor: drop angle member from PieceRenderInstructions Now is a method used in only one place... Signed-off-by: Ian Jackson --- daemon/cmdlistener.rs | 2 -- daemon/session.rs | 4 ++-- src/gamestate.rs | 16 +++++++++------- src/hidden.rs | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index 586b78b2..55009d03 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -383,7 +383,6 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( // todo: something more sophisticated would be nice let pri = PieceRenderInstructions { id: VisiblePieceId(piece.data()), - angle: VisiblePieceAngle(p.angle), // xxx occluded: PriOccluded::Visible, }; let bbox = pinfo.bbox_approx()?; @@ -567,7 +566,6 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( let desc_html = if let Some(pc) = &pc { let pri = PieceRenderInstructions { id: default(), - angle: VisiblePieceAngle(pc.angle), // xxx occluded: PriOccluded::Visible, }; pri.describe(pc, &p) diff --git a/daemon/session.rs b/daemon/session.rs index c6359e92..eb6be01c 100644 --- a/daemon/session.rs +++ b/daemon/session.rs @@ -118,8 +118,8 @@ fn session_inner(form: Json, alldefs.push((pri.id, defs)); let desc = pri.describe(&pr, p); - let vangle = match pri.angle { - VisiblePieceAngle(PieceAngle::Compass(vangle)) => vangle, + let vangle = match pri.angle(pr) { + PieceAngle::Compass(vangle) => vangle, }; let for_info = SessionPieceLoadJson { diff --git a/src/gamestate.rs b/src/gamestate.rs index 1a75c7f3..ddadcf9f 100644 --- a/src/gamestate.rs +++ b/src/gamestate.rs @@ -19,10 +19,7 @@ pub struct Generation(pub u64); visible_slotmap_key!{ VisiblePieceId(b'.') } -#[derive(Clone,Copy,Debug)] -#[derive(Serialize,Deserialize)] -#[serde(transparent)] -pub struct VisiblePieceAngle(pub PieceAngle); +type VisiblePieceAngle = PieceAngle; #[derive(Clone,Debug)] #[derive(Serialize,Deserialize)] @@ -257,7 +254,7 @@ impl Debug for Html { impl VisiblePieceAngle { pub fn to_transform(self) -> VisibleAngleTransform { - match self.0 { + match self { PieceAngle::Compass(angle) => VisibleAngleTransform( base_misc::raw_angle_transform( angle.into() @@ -356,7 +353,6 @@ impl PieceXDataExt for PieceXDataState { #[derive(Debug,Clone)] pub struct PieceRenderInstructions { pub id: VisiblePieceId, - pub angle: VisiblePieceAngle, pub occluded: PriOccluded, } @@ -380,7 +376,7 @@ impl PieceRenderInstructions { Some(n) => n, None => -1, }; - let transform = pri.angle.to_transform(); + let transform = gpc.angle.to_transform(); write!(&mut defs.0, r##""##, pri.id, &transform.0, dragraise)?; @@ -416,6 +412,12 @@ impl PieceRenderInstructions { p.describe_html(gpc)? } + pub fn angle(&self, gpc: &GPiece) -> VisiblePieceAngle { + let PriOccluded::Visible = self.occluded; + + gpc.angle + } + #[throws(InternalError)] pub fn ui_operations(&self, gpc: &GPiece, p: &dyn PieceTrait) -> Vec diff --git a/src/hidden.rs b/src/hidden.rs index 9c44008e..0930c60c 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -181,11 +181,11 @@ pub fn piece_pri( pc: &GPiece, ) -> PieceRenderInstructions { let vpiece = gpl.idmap.fwd_or_insert(piece); - let angle = VisiblePieceAngle(pc.angle); + let angle = pc.angle; let occluded = PriOccluded::Visible; // xxx trace!("{} {:?} => {} angle={:?}", player, piece, vpiece, angle); - PieceRenderInstructions { id: vpiece, angle, occluded } + PieceRenderInstructions { id: vpiece, occluded } } pub fn piece_at_all_occluded( -- 2.30.2