WIP: 2.10
This commit is contained in:
24
src/main.rs
24
src/main.rs
@@ -206,7 +206,11 @@ impl GameState for State {
|
||||
}
|
||||
gui::MainMenuResult::Selected { selected } => match selected {
|
||||
gui::MainMenuSelection::NewGame => new_run_state = RunState::PreRun,
|
||||
gui::MainMenuSelection::LoadGame => new_run_state = RunState::PreRun,
|
||||
gui::MainMenuSelection::LoadGame => {
|
||||
save_load_system::load_game(&mut self.ecs);
|
||||
new_run_state = RunState::AwaitingInput;
|
||||
save_load_system::delete_save();
|
||||
}
|
||||
gui::MainMenuSelection::Quit => ::std::process::exit(0),
|
||||
},
|
||||
}
|
||||
@@ -214,7 +218,7 @@ impl GameState for State {
|
||||
RunState::SaveGame => {
|
||||
save_load_system::save_game(&mut self.ecs);
|
||||
new_run_state = RunState::MainMenu {
|
||||
menu_selection: gui::MainMenuSelection::LoadGame,
|
||||
menu_selection: gui::MainMenuSelection::Quit,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -238,9 +242,6 @@ fn main() -> rltk::BError {
|
||||
let mut gs = State { ecs: World::new() };
|
||||
|
||||
gs.ecs.insert(rltk::RandomNumberGenerator::new());
|
||||
gs.ecs.insert(gamelog::GameLog {
|
||||
entries: vec!["Welcome to Rusty Roguelike".to_string()],
|
||||
});
|
||||
|
||||
gs.ecs.register::<Position>();
|
||||
gs.ecs.register::<Renderable>();
|
||||
@@ -265,22 +266,27 @@ fn main() -> rltk::BError {
|
||||
gs.ecs.register::<Confusion>();
|
||||
gs.ecs.register::<SimpleMarker<SerializeMe>>();
|
||||
gs.ecs.register::<SerializationHelper>();
|
||||
gs.ecs.insert(SimpleMarkerAllocator::<SerializeMe>::new());
|
||||
let map = Map::new_map_rooms_and_corridors();
|
||||
|
||||
gs.ecs.insert(SimpleMarkerAllocator::<SerializeMe>::new());
|
||||
|
||||
let map = Map::new_map_rooms_and_corridors();
|
||||
let (player_x, player_y) = map.rooms[0].center();
|
||||
gs.ecs.insert(Point::new(player_x, player_y));
|
||||
|
||||
let player_entity = spawner::player(&mut gs.ecs, player_x, player_y);
|
||||
gs.ecs.insert(player_entity);
|
||||
|
||||
for room in map.rooms.iter().skip(1) {
|
||||
spawner::spawn_room(&mut gs.ecs, room);
|
||||
}
|
||||
|
||||
gs.ecs.insert(map);
|
||||
gs.ecs.insert(Point::new(player_x, player_y));
|
||||
gs.ecs.insert(player_entity);
|
||||
gs.ecs.insert(RunState::MainMenu {
|
||||
menu_selection: gui::MainMenuSelection::NewGame,
|
||||
});
|
||||
gs.ecs.insert(gamelog::GameLog {
|
||||
entries: vec!["Welcome to Rusty Roguelike".to_string()],
|
||||
});
|
||||
|
||||
rltk::main_loop(context, gs)
|
||||
}
|
||||
|
Reference in New Issue
Block a user