Dynamic loading, saving, generating chunks works
This commit is contained in:
+7
-7
@@ -2,7 +2,7 @@ mod camera_controller;
|
||||
mod player;
|
||||
pub mod world;
|
||||
use crate::renderer::renderer_view::RendererView;
|
||||
use cgmath::Point3;
|
||||
use cgmath::Vector3;
|
||||
use winit::event::Event;
|
||||
use player::Player;
|
||||
use world::World;
|
||||
@@ -19,7 +19,7 @@ pub struct Game {
|
||||
#[allow(unused)]
|
||||
world: World,
|
||||
|
||||
prev_pos: Option<Point3<i32>>
|
||||
prev_pos: Option<Vector3<i32>>
|
||||
}
|
||||
|
||||
impl Game {
|
||||
@@ -64,16 +64,16 @@ impl Game {
|
||||
|
||||
// Update chunks
|
||||
let pos = camera.get_position();
|
||||
let pos = Point3{x: pos.x as i32, y: pos.y as i32, z: pos.z as i32};
|
||||
let pos = Vector3{x: pos.x as i32, y: pos.y as i32, z: pos.z as i32};
|
||||
if self.prev_pos == None || self.prev_pos != Some(pos) {
|
||||
self.prev_pos = Some(pos);
|
||||
renderer.get_ui().set_text("World", 0, format!("Position: {}, {}, {}", pos.x, pos.y, pos.z));
|
||||
|
||||
// Load sphere of chunks around player (TODO)
|
||||
let chunk_pos = Point3{x: pos.x / 32, y: pos.y / 32, z: pos.z / 32};
|
||||
// Load sphere of chunks around player
|
||||
let chunk_pos = pos / 32;//Vector3{x: pos.x / 32, y: pos.y / 32, z: pos.z / 32};
|
||||
if self.world.load_chunk(chunk_pos) {
|
||||
|
||||
renderer.write(, block: &WorldBlock)
|
||||
let chunk = self.world.get_chunk(&chunk_pos).unwrap();
|
||||
chunk.write_to(renderer, chunk_pos * 32);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user