diff --git a/src/controls.rs b/src/controls.rs index b6b604a..701c209 100644 --- a/src/controls.rs +++ b/src/controls.rs @@ -25,7 +25,6 @@ pub struct Controls { pub fn plugin(app: &mut App) { app.init_resource::(); - app.add_systems(PreUpdate, clear_mouse_delta); app.add_systems(Update, (gamepad_controls, keyboard_controls, mouse_rotate)); app.add_systems(Update, mouse_click.run_if(on_event::)); app.add_systems(Update, gamepad_connections.run_if(on_event::)); @@ -103,10 +102,6 @@ fn mouse_rotate(mut mouse: EventReader, mut controls: ResMut) { - controls.keyboard_state.look_dir = Vec2::ZERO; -} - fn keyboard_controls(keyboard: Res>, mut controls: ResMut) { let mut direction = Vec2::ZERO; diff --git a/src/player.rs b/src/player.rs index 7955c23..1bc93f4 100644 --- a/src/player.rs +++ b/src/player.rs @@ -120,7 +120,7 @@ fn spawn( } fn rotate_view( - controls: Res, + mut controls: ResMut, // todo: Put the player head as a child of the rig to avoid this mess: mut player: Query<&mut Transform, Or<(With, With)>>, ) { @@ -131,6 +131,8 @@ fn rotate_view( tr.rotate_y(gamepad.look_dir.x * -0.001); } } + + controls.keyboard_state.look_dir = Vec2::ZERO; } fn toggle_grab_cursor(window: &mut Window) {