Fix some main menu-related code
This commit is contained in:
parent
a307521d64
commit
1330386b52
@ -477,7 +477,7 @@ pub fn main_menu(gs: &mut State, ctx: &mut Rltk) -> MainMenuResult {
|
||||
Some(key) => match key {
|
||||
VirtualKeyCode::Escape => {
|
||||
return MainMenuResult::NoSelection {
|
||||
selected: selection,
|
||||
selected: MainMenuSelection::Quit,
|
||||
}
|
||||
}
|
||||
VirtualKeyCode::Up => {
|
||||
|
32
src/main.rs
32
src/main.rs
@ -110,24 +110,7 @@ impl GameState for State {
|
||||
ctx.cls();
|
||||
|
||||
match newrunstate {
|
||||
RunState::MainMenu { .. } => match gui::main_menu(self, ctx) {
|
||||
gui::MainMenuResult::NoSelection { selected } => {
|
||||
newrunstate = RunState::MainMenu {
|
||||
menu_selection: selected,
|
||||
}
|
||||
}
|
||||
gui::MainMenuResult::Selected { selected } => match selected {
|
||||
gui::MainMenuSelection::NewGame => newrunstate = RunState::PreRun,
|
||||
gui::MainMenuSelection::LoadGame => {
|
||||
saveload_system::load_game(&mut self.ecs);
|
||||
newrunstate = RunState::AwaitingInput;
|
||||
saveload_system::delete_save();
|
||||
}
|
||||
gui::MainMenuSelection::Quit => {
|
||||
::std::process::exit(0);
|
||||
}
|
||||
},
|
||||
},
|
||||
RunState::MainMenu { .. } => {}
|
||||
_ => {
|
||||
// Draw the UI
|
||||
draw_map(&self.ecs, ctx);
|
||||
@ -244,9 +227,7 @@ impl GameState for State {
|
||||
}
|
||||
}
|
||||
}
|
||||
RunState::MainMenu { .. } => {
|
||||
let result = gui::main_menu(self, ctx);
|
||||
match result {
|
||||
RunState::MainMenu { .. } => match gui::main_menu(self, ctx) {
|
||||
gui::MainMenuResult::NoSelection { selected } => {
|
||||
newrunstate = RunState::MainMenu {
|
||||
menu_selection: selected,
|
||||
@ -254,13 +235,16 @@ impl GameState for State {
|
||||
}
|
||||
gui::MainMenuResult::Selected { selected } => match selected {
|
||||
gui::MainMenuSelection::NewGame => newrunstate = RunState::PreRun,
|
||||
gui::MainMenuSelection::LoadGame => newrunstate = RunState::PreRun,
|
||||
gui::MainMenuSelection::LoadGame => {
|
||||
saveload_system::load_game(&mut self.ecs);
|
||||
newrunstate = RunState::AwaitingInput;
|
||||
saveload_system::delete_save();
|
||||
}
|
||||
gui::MainMenuSelection::Quit => {
|
||||
::std::process::exit(0);
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
RunState::SaveGame => {
|
||||
saveload_system::save_game(&mut self.ecs);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user