From: Ian Jackson Date: Sun, 12 Jun 2022 23:01:46 +0000 (+0100) Subject: Break out prepare_set_player_update X-Git-Tag: otter-1.2.0~32 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=099956ba8a1dc281fb1df10111954ae97207ee93;p=otter.git Break out prepare_set_player_update We'll want this for nick updates. Signed-off-by: Ian Jackson --- diff --git a/src/global.rs b/src/global.rs index 3a8b6f19..13106c12 100644 --- a/src/global.rs +++ b/src/global.rs @@ -713,13 +713,7 @@ impl<'ig> InstanceGuard<'ig> { self.c.g.iplayers.insert(player, record); let update = (||{ - let new_info_pane = Arc::new(self.player_info_pane()?); - - let update = PreparedUpdateEntry::SetPlayer { - player, new_info_pane, - data: DataLoadPlayer::from_player(self, player), - }; - + let update = self.prepare_set_player_update(player)?; self.save_game_now()?; self.save_aux_now()?; Ok::<_,InternalError>(update) @@ -743,6 +737,16 @@ impl<'ig> InstanceGuard<'ig> { } } + #[throws(IE)] + pub fn prepare_set_player_update(&self, player: PlayerId) + -> PreparedUpdateEntry { + let new_info_pane = Arc::new(self.player_info_pane()?); + PreparedUpdateEntry::SetPlayer { + player, new_info_pane, + data: DataLoadPlayer::from_player(self, player), + } + } + pub fn remove_clients(&mut self, players: &HashSet, signal: ErrorSignaledViaUpdate) {