summaryrefslogtreecommitdiff
path: root/engine/src/camera
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-04-05 18:12:51 +0200
committerHampusM <hampus@hampusmat.com>2026-04-05 18:12:51 +0200
commitd193aa46ec80a58a6a6ad619c38619e434a6137a (patch)
tree4472759e319e9aa8d9a296dd030a14e4922b6ab0 /engine/src/camera
parent812d574082b951a6b60db5f61373bb5a87a01cbe (diff)
feat(engine): add position to mouse component
Diffstat (limited to 'engine/src/camera')
-rw-r--r--engine/src/camera/fly.rs16
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;