diff options
| author | HampusM <hampus@hampusmat.com> | 2026-04-05 18:12:51 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-04-05 18:12:51 +0200 |
| commit | d193aa46ec80a58a6a6ad619c38619e434a6137a (patch) | |
| tree | 4472759e319e9aa8d9a296dd030a14e4922b6ab0 /engine/src/camera | |
| parent | 812d574082b951a6b60db5f61373bb5a87a01cbe (diff) | |
feat(engine): add position to mouse component
Diffstat (limited to 'engine/src/camera')
| -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 7996b4d..2042c0c 100644 --- a/engine/src/camera/fly.rs +++ b/engine/src/camera/fly.rs @@ -1,15 +1,15 @@ use ecs::component::local::Local; use ecs::phase::UPDATE as UPDATE_PHASE; use ecs::sole::Single; -use ecs::system::initializable::Initializable; use ecs::system::Into; +use ecs::system::initializable::Initializable; use ecs::{Component, Query}; use crate::builder; use crate::camera::{Active as ActiveCamera, Camera}; use crate::delta_time::DeltaTime; use crate::input::keyboard::{Key, Keyboard}; -use crate::input::mouse::Motion as MouseMotion; +use crate::input::mouse::Mouse; use crate::transform::WorldPosition; use crate::vector::{Vec2, Vec3}; @@ -74,7 +74,7 @@ pub struct Options fn update( camera_query: Query<(&mut Camera, &mut WorldPosition, &mut Fly, &ActiveCamera)>, keyboard: Single<Keyboard>, - mouse_motion: Single<MouseMotion>, + mouse: Single<Mouse>, delta_time: Single<DeltaTime>, options: Local<Options>, ) @@ -82,14 +82,12 @@ fn update( for (mut camera, mut camera_world_pos, mut fly_camera, _) in &camera_query { let delta_time = delta_time.duration; - // tracing::info!("Mouse motion: {:?}", mouse_motion.position_delta); - - if mouse_motion.position_delta != (Vec2 { x: 0.0, y: 0.0 }) { + if mouse.curr_tick_position_delta != (Vec2 { x: 0.0, y: 0.0 }) { let x_offset = - mouse_motion.position_delta.x * f64::from(options.mouse_sensitivity); + mouse.curr_tick_position_delta.x * f64::from(options.mouse_sensitivity); - let y_offset = - (-mouse_motion.position_delta.y) * f64::from(options.mouse_sensitivity); + let y_offset = (-mouse.curr_tick_position_delta.y) + * f64::from(options.mouse_sensitivity); fly_camera.current_yaw += x_offset; fly_camera.current_pitch += y_offset; |
