diff options
Diffstat (limited to 'engine/src/camera/fly.rs')
| -rw-r--r-- | engine/src/camera/fly.rs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/engine/src/camera/fly.rs b/engine/src/camera/fly.rs index 18afcb8..166f4fb 100644 --- a/engine/src/camera/fly.rs +++ b/engine/src/camera/fly.rs @@ -1,6 +1,7 @@ +use ecs::time::Time; + use crate::builder; use crate::camera::{Active as ActiveCamera, Camera, Controllable as ControllableCamera}; -use crate::delta_time::DeltaTime; use crate::ecs::actions::Actions; use crate::ecs::component::local::Local; use crate::ecs::phase::UPDATE as UPDATE_PHASE; @@ -85,14 +86,13 @@ fn update( >, keyboard: Single<Keyboard>, mouse: Single<Mouse>, - delta_time: Single<DeltaTime>, + time: Single<Time>, options: Local<Options>, mut actions: Actions, ) -> Result<(), crate::Error> { let keyboard = keyboard.get()?; let mouse = mouse.get()?; - let delta_time = delta_time.get()?; for ( camera_ent_id, @@ -107,8 +107,6 @@ fn update( actions.add_components(camera_ent_id, (ControllableCamera::default(),)); } - let delta_time = delta_time.duration; - if mouse.curr_tick_position_delta != (Vec2 { x: 0.0, y: 0.0 }) { let x_offset = mouse.curr_tick_position_delta.x * f64::from(options.mouse_sensitivity); @@ -139,26 +137,26 @@ fn update( if keyboard.pressed(Key::W) { camera_world_pos.position += - direction * fly_camera.speed * delta_time.as_secs_f32(); + direction * fly_camera.speed * time.delta_time.as_secs_f32(); } if keyboard.pressed(Key::S) { camera_world_pos.position -= - direction * fly_camera.speed * delta_time.as_secs_f32(); + direction * fly_camera.speed * time.delta_time.as_secs_f32(); } if keyboard.pressed(Key::A) { let cam_left = -direction.cross(&Vec3::UP).normalize(); camera_world_pos.position += - cam_left * fly_camera.speed * delta_time.as_secs_f32(); + cam_left * fly_camera.speed * time.delta_time.as_secs_f32(); } if keyboard.pressed(Key::D) { let cam_right = direction.cross(&Vec3::UP).normalize(); camera_world_pos.position += - cam_right * fly_camera.speed * delta_time.as_secs_f32(); + cam_right * fly_camera.speed * time.delta_time.as_secs_f32(); } camera.target = camera_world_pos.position + direction; |
