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)
}
}
+ #[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<PlayerId>,
signal: ErrorSignaledViaUpdate<PUE_P, String>) {