From aa30e21ad1b822e5e80f2d973a671181a2205699 Mon Sep 17 00:00:00 2001 From: Sofia Date: Thu, 6 Aug 2026 17:40:44 +0300 Subject: [PATCH] Fix lobby background not updating on join --- rust/src/lobby_world.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rust/src/lobby_world.rs b/rust/src/lobby_world.rs index 31fd818..f4e2f49 100644 --- a/rust/src/lobby_world.rs +++ b/rust/src/lobby_world.rs @@ -36,6 +36,8 @@ impl INode3D for LobbyWorld { self.spawn_player(player.id()); } + self.change_map(game.bind().selected_map_idx); + game.signals() .on_new_player() .connect_other(self, Self::on_new_player); @@ -61,11 +63,11 @@ impl INode3D for LobbyWorld { impl LobbyWorld { fn change_map(&mut self, map: u8) { - if let Some(mut background) = self.background.take() { - background.queue_free(); - } - self.run_deferred(move |s| { + if let Some(mut background) = s.background.take() { + background.queue_free(); + } + if let Some(map) = GameManager::singleton().bind().maps.get(map as usize) { if let Some(scene) = &map.bind().static_scene { let mut background = scene.instantiate_as::();