From fb6f10f5b30749c38a85359ba75423b88b78d98e Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 24 Mar 2021 16:51:37 +0000 Subject: [PATCH] hidden: Provide active_nondefault_views Signed-off-by: Ian Jackson --- src/hidden.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/hidden.rs b/src/hidden.rs index ae65d16c..d73485aa 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -81,6 +81,17 @@ pub enum OccDisplacement { impl PieceOccult { pub fn is_active(&self) -> bool { self.active.is_some() } + #[throws(IE)] + pub fn active_nondefault_views(&self, goccults: &GameOccults) + -> Option { + if let Some(occid) = self.active { + let occ = goccults.occults.get(occid).ok_or_else( + || internal_error_bydebug(&self))?; + Some(occ.views.views.len()) + } else { + None + } + } pub fn passive_occid(&self) -> Option { Some(self.passive?.occid) } pub fn passive_delete_hook(&self, goccults: &mut GameOccults, piece: PieceId) { -- 2.30.2