From b29c375a7a6c1d9ecea46d381f0010273456d2c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sallai=20J=C3=B3zsef?= Date: Sat, 6 Aug 2022 14:47:02 +0300 Subject: [PATCH] fix broken new game menu after deleting save --- src/menu/mod.rs | 9 +++++++++ src/menu/save_select_menu.rs | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/src/menu/mod.rs b/src/menu/mod.rs index ea3e347..085f0fe 100644 --- a/src/menu/mod.rs +++ b/src/menu/mod.rs @@ -131,6 +131,15 @@ impl Menu { } } + pub fn set_id(&mut self, old_id: T, new_id: T) { + for i in 0..self.entries.len() { + if self.entries[i].0 == old_id { + self.entries[i].0 = new_id; + return; + } + } + } + pub fn update_width(&mut self, state: &SharedGameState) { let mut width = self.width as f32; diff --git a/src/menu/save_select_menu.rs b/src/menu/save_select_menu.rs index ba4d47b..bc1b104 100644 --- a/src/menu/save_select_menu.rs +++ b/src/menu/save_select_menu.rs @@ -299,6 +299,11 @@ impl SaveSelectMenu { } self.save_menu.set_entry(self.save_menu.selected, MenuEntry::NewSave); + if let SaveMenuEntry::Load(slot) = self.save_menu.selected { + self.save_menu.set_id(self.save_menu.selected, SaveMenuEntry::New(slot)); + self.save_menu.selected = SaveMenuEntry::New(slot); + } + self.current_menu = CurrentMenu::SaveMenu; } MenuSelectionResult::Selected(DeleteConfirmMenuEntry::No, _) | MenuSelectionResult::Canceled => {