diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..ec7d3d8 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,4 @@ +hard_tabs = true +max_width = 120 +brace_style = "AlwaysNextLine" +control_brace_style = "AlwaysNextLine" diff --git a/src/plugins/player.rs b/src/plugins/player.rs index 7f17165..bfdacff 100644 --- a/src/plugins/player.rs +++ b/src/plugins/player.rs @@ -1,6 +1,6 @@ use std::f32::EPSILON; -use bevy::prelude::*; +use bevy::{input::mouse::MouseMotion, prelude::*}; use bevy_rapier3d::prelude::*; use crate::{ @@ -8,14 +8,14 @@ use crate::{ player::{GravityDirection, JumpSpeed, MoveSpeed, PlayerDrag, PlayerForce, PlayerMotion, PlayerVelocity}, tags::Player, }, - utils::rotation::get_alignment_rotation, + utils::{input::get_mouse_delta, rotation::get_alignment_rotation}, }; pub struct PlayerPlugin; impl Plugin for PlayerPlugin { fn build(&self, app: &mut App) { - app.add_systems(PreUpdate, keyboard_input.in_set(PlayerInputSystems)); + app.add_systems(PreUpdate, (keyboard_input).in_set(PlayerInputSystems)); app.add_systems(Update, (apply_gravity, apply_forces, apply_motion, apply_drag).chain()); app.add_systems(Update, align_with_gravity); } @@ -124,6 +124,11 @@ fn keyboard_input( // controller.translation = Some(move_vec * time.delta_secs()); } +fn player_look(mut player: Single<&mut Transform, With>, mouse_motion: EventReader) { + let delta = get_mouse_delta(mouse_motion); + player.rotate_y(delta.x); +} + fn align_with_gravity( player: Single< (