save and load player position

This commit is contained in:
2020-11-29 22:12:13 +01:00
parent 0edd6b6411
commit e054a76a3f
5 changed files with 73 additions and 30 deletions

View File

@@ -23,7 +23,6 @@ mod level;
pub struct TestGame {
input: InputState,
player: Player,
meshes: Vec<MeshHandle>,
game_objects: Vec<GameObjectHandle>,
log_config: LogConfig,
texture_index_counter: usize,
@@ -36,7 +35,6 @@ impl TestGame {
TestGame {
input: InputState::new(toml_path, log_config),
player: Player::new(),
meshes: vec![],
game_objects: vec![],
log_config,
texture_index_counter: 0,
@@ -69,19 +67,19 @@ impl Game for TestGame {
renderer.game_data.shutdown = true;
}
if self.input.button_just_released("test") {
println!("Saving...");
save_level("levels/test.lvl", self, renderer).unwrap();
println!("Clearing level...");
self.clear_level(renderer);
println!("Loading...");
load_level("levels/test.lvl", self, renderer).unwrap();
}
if self.input.button_just_pressed("reload_shaders") {
renderer.game_data.recreate_pipeline = true;
}
if self.input.button_just_pressed("quicksave") {
save_level("levels/test.lvl", self, renderer).unwrap();
}
if self.input.button_just_pressed("quickload") {
self.clear_level(renderer);
load_level("levels/test.lvl", self, renderer).unwrap();
}
if self.input.button_down("print_framerate") {
println!("{:.0} ms / {:.0} FPS", frame_time * 1000.0, 1.0 / frame_time);
}
@@ -139,14 +137,13 @@ impl TestGame {
let normal_id = self.offset_texture_id(cpu_mesh.local_normal_map_index);
// Upload mesh
let mesh_id = renderer.upload_mesh(cpu_mesh);
let mesh_id = renderer.upload_mesh(cpu_mesh, gltf_path.to_string());
let mesh_handle = MeshHandle {
index: mesh_id,
diffuse_handle: diffuse_id,
normal_handle: normal_id,
original_path: gltf_path.to_string()
};
self.meshes.push(mesh_handle.clone());
mesh_handles.push(mesh_handle);
}
@@ -166,7 +163,6 @@ impl TestGame {
fn clear_level(&mut self, renderer: &mut VulkanRenderer) {
self.game_objects.clear();
self.meshes.clear();
self.texture_index_counter = 0;
renderer.clear_all();
}