chiark / gitweb /
deck: Refactor, ready for counting instead, fix current_face
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 24 Mar 2021 18:24:40 +0000 (18:24 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 24 Mar 2021 18:24:40 +0000 (18:24 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/deck.rs

index e0b171c010606df5057421665a376056f7b2af22..8ac3370a8e134a1013c81015c5f26bf85dece388 100644 (file)
@@ -68,8 +68,11 @@ impl Deck {
     if gpc.occult.is_active() { Enabled } else { Disabled }
   }
 
-  fn current_face(&self, gpc: &GPiece) -> FaceId {
-    (gpc.occult.is_active() as RawFaceId).into()
+  fn current_face(&self, gpc: &GPiece, goccults: &GameOccults) -> FaceId {
+    RawFaceId::from(match self.state(gpc, goccults) {
+      Disabled => 0,
+      Enabled => 1,
+    }).into()
   }
 }
 
@@ -79,7 +82,7 @@ impl PieceTrait for Deck {
   #[throws(IE)]
   fn svg_piece(&self, f: &mut Html, gpc: &GPiece,
                gs: &GameState, _vpid: VisiblePieceId) {
-    let face = self.current_face(gpc);
+    let face = self.current_face(gpc, &gs.occults);
     self.shape.svg_piece_raw(f, face, &mut |_|Ok::<_,IE>(()))?;
     if_chain! {
       if let Some(label) = &self.label;