From a431f4b5479bac3e57a7a6557bb406f73108b31c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 10 Mar 2021 22:45:28 +0000 Subject: [PATCH] hidden: Make an OccultationKindGeneral generic over displacement Signed-off-by: Ian Jackson --- src/hand.rs | 2 +- src/hidden.rs | 7 ++++--- src/prelude.rs | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/hand.rs b/src/hand.rs index dc9699fc..7551a538 100644 --- a/src/hand.rs +++ b/src/hand.rs @@ -184,7 +184,7 @@ impl PieceTrait for Hand { let views = OwnerOccultationView { owner: player, owner_view: OccK::Visible, - defview: OccK::Displaced { within: region }, + defview: OccK::Displaced(region), }.views()?; dbgc!("claiming got region", ®ion, &views); Ok::<_,IE>((region, views)) diff --git a/src/hidden.rs b/src/hidden.rs index 98563547..e24bb9e7 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -46,12 +46,13 @@ pub struct OccultView { #[derive(Clone,Copy,Debug,Serialize,Deserialize)] #[derive(Eq,PartialEq,Hash)] -pub enum OccultationKind { +pub enum OccultationKindGeneral { Visible, Scrambled, - Displaced { within: Area }, + Displaced(D), Invisible, } +pub type OccultationKind = OccultationKindGeneral; impl Default for OccultationKind { fn default() -> Self { OccK::Visible } @@ -59,7 +60,7 @@ impl Default for OccultationKind { impl Ord for OccultationKind { fn cmp(&self, rhs: &Self) -> Ordering { - fn level(k: &OccK) -> u8 { use OccultationKind::*; match k { + fn level(k: &OccK) -> u8 { use OccKG::*; match k { Visible => 0, Scrambled => 1, Displaced{..} => 2, diff --git a/src/prelude.rs b/src/prelude.rs index 4b34c4ba..d06199f3 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -160,6 +160,7 @@ pub type SpE = SpecError; // hidden.rs pub type OccK = OccultationKind; +pub use OccultationKindGeneral as OccKG; // updates.rs pub type PUE = PreparedUpdateEntry; -- 2.30.2