Changed project name (placeholder), some renames
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
mod camera_controller;
|
||||
mod player;
|
||||
pub mod world;
|
||||
use std::time::Instant;
|
||||
use crate::renderer::content_view::ContentView;
|
||||
use cgmath::{SquareMatrix, Point3, InnerSpace};
|
||||
use winit::event::Event;
|
||||
use crate::renderer::{camera::CameraTransform};
|
||||
use player::Player;
|
||||
use world::World;
|
||||
|
||||
|
||||
pub enum GameState {
|
||||
Paused,
|
||||
Running
|
||||
}
|
||||
|
||||
pub struct Game {
|
||||
player: Player,
|
||||
world: World
|
||||
}
|
||||
|
||||
impl Game {
|
||||
pub fn new(content: &mut dyn ContentView) -> Self {
|
||||
let mut app = Self {
|
||||
player: Player::new(),
|
||||
world: World::new("default".to_string())
|
||||
};
|
||||
|
||||
|
||||
let timer = Instant::now();
|
||||
for x in 0..64 {
|
||||
for z in 0..64 {
|
||||
let pos = &Point3{x,y:0,z};
|
||||
let block = app.world.gen_block(pos);
|
||||
content.write(pos, block);
|
||||
}
|
||||
}
|
||||
println!("Generated in {}", timer.elapsed().as_secs_f32());
|
||||
|
||||
let timer = Instant::now();
|
||||
app.world.save();
|
||||
println!("Saved in {}", timer.elapsed().as_secs_f32());
|
||||
|
||||
// let timer = Instant::now();
|
||||
// app.world.load();
|
||||
// for (pos, block) in app.world.all_blocks() {
|
||||
// content.write(&pos, block);
|
||||
// }
|
||||
// println!("Loaded in {}", timer.elapsed().as_secs_f32());
|
||||
|
||||
println!("App initialized");
|
||||
app
|
||||
}
|
||||
|
||||
pub fn input(&mut self, event: &Event<()>) {
|
||||
// Update camera controller
|
||||
self.player.camera_controller.handle_input(event);
|
||||
}
|
||||
|
||||
pub fn update_state(&mut self, requested_state: GameState) -> GameState {
|
||||
match requested_state {
|
||||
GameState::Paused => {
|
||||
self.player.camera_controller.set_enabled(false);
|
||||
}
|
||||
GameState::Running => {
|
||||
self.player.camera_controller.set_enabled(true);
|
||||
}
|
||||
};
|
||||
|
||||
// Currently we are not preventing any state changes, just return requested state
|
||||
requested_state
|
||||
}
|
||||
|
||||
pub fn update_camera(&mut self, delta: f32, camera_transform: &mut dyn CameraTransform) {
|
||||
self.player.camera_controller.update(delta, camera_transform);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user