prevent scene duplication on editor start

This commit is contained in:
Dmitry Stepanov
2026-09-20 12:17:24 +03:00
parent 457ccc5520
commit d0459bbe95
+13 -10
View File
@@ -1030,7 +1030,7 @@ impl Editor {
} }
let scenes = SceneContainer::new(&mut engine, &mut settings, message_sender.clone()); let scenes = SceneContainer::new(&mut engine, &mut settings, message_sender.clone());
let mut editor = Self { let editor = Self {
docking_manager, docking_manager,
engine, engine,
navmesh_panel, navmesh_panel,
@@ -1104,14 +1104,13 @@ impl Editor {
property_editors, property_editors,
}; };
editor let mut startup_scenes = editor
.settings .settings
.general .general
.startup_scenes .startup_scenes
.retain(|p| p.exists()); .iter()
for path in editor.settings.general.startup_scenes.iter() { .cloned()
editor.message_sender.send(Message::LoadScene(path.clone())); .collect::<FxHashSet<_>>();
}
if let Some(data) = startup_data { if let Some(data) = startup_data {
editor.message_sender.send(Message::Configure { editor.message_sender.send(Message::Configure {
@@ -1122,10 +1121,8 @@ impl Editor {
}, },
}); });
for scene in data.scenes { for path in data.scenes {
if scene != PathBuf::default() { startup_scenes.insert(path);
editor.message_sender.send(Message::LoadScene(scene));
}
} }
} else { } else {
// Open configurator as usual. // Open configurator as usual.
@@ -1139,6 +1136,12 @@ impl Editor {
); );
} }
for path in startup_scenes.iter() {
if path.exists() {
editor.message_sender.send(Message::LoadScene(path.clone()));
}
}
editor editor
} }