diff --git a/src/navigation.rs b/src/navigation.rs index 922361c..d70f0d6 100644 --- a/src/navigation.rs +++ b/src/navigation.rs @@ -6,7 +6,7 @@ use std::{ use bevy::prelude::*; use bevy_rapier2d::prelude::*; use bevy_tts::Tts; -use leafwing_input_manager::prelude::*; +use leafwing_input_manager::{axislike::DualAxisData, prelude::*}; use crate::{ commands::RunIfExistsExt, @@ -22,6 +22,8 @@ use crate::{ pub enum NavigationAction { Move, Rotate, + SetLinearVelocity, + SetAngularVelocity, SnapLeft, SnapRight, SnapCardinal, @@ -39,16 +41,10 @@ impl Default for MaxSpeed { } } -#[derive(Component, Clone, Copy, Debug, Deref, DerefMut, Reflect)] +#[derive(Component, Clone, Copy, Default, Debug, Deref, DerefMut, Reflect)] #[reflect(Component)] pub struct RotationSpeed(pub Angle); -impl Default for RotationSpeed { - fn default() -> Self { - Self(Angle::Radians(0.)) - } -} - #[derive(Component, Clone, Copy, Debug, Default, Deref, DerefMut, Reflect)] #[reflect(Component)] pub struct Speed(pub f32); @@ -65,32 +61,22 @@ impl Default for SnapTimer { fn movement_controls( mut commands: Commands, config: Res>, - time: Res