From: Ian Jackson Date: Wed, 17 Feb 2021 21:57:31 +0000 (+0000) Subject: hidden: recalculate: Break out recalculate_occultation_ofmany X-Git-Tag: otter-0.4.0~424 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=7df60b9bd47d90d718ee016e20c396bd71f766a6;p=otter.git hidden: recalculate: Break out recalculate_occultation_ofmany NFC Signed-off-by: Ian Jackson --- diff --git a/src/hidden.rs b/src/hidden.rs index 2336f522..92e8af03 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -415,6 +415,23 @@ pub fn recalculate_occultation_piece( )? } +#[throws(IE)] +fn recalculate_occultation_ofmany( + gs: &mut GameState, + ipieces: &PiecesLoaded, + ppiece: PieceId, + updates: &mut Vec<(PieceId, PieceUpdateOps)>, +){ + recalculate_occultation_general( + gs, ipieces, ppiece, + (), |_|(), + |_,_,_|(), |puo_pp, ()|{ + updates.push((ppiece, PUOs::PerPlayer(puo_pp))); + }, + )?; +} + + #[must_use] pub struct NascentOccultation(Occultation); @@ -496,13 +513,7 @@ pub fn create_occultation( ogpc.occult.active = Some(occid); for &ppiece in &recalc { - recalculate_occultation_general( - gs, ipieces, ppiece, - (), |_|(), - |_,_,_|(), |puo_pp, ()|{ - updates.push((ppiece, PUOs::PerPlayer(puo_pp))); - }, - )?; + recalculate_occultation_ofmany(gs, ipieces, ppiece, &mut updates)?; } Ok::<_,IE>(())