From 3fc0a3e45cbe49921235d72785b5c7e9d4719dea Mon Sep 17 00:00:00 2001 From: Joe Ardent Date: Sun, 19 Feb 2023 20:54:17 -0800 Subject: [PATCH 01/13] add lean resource --- src/action/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/action/mod.rs b/src/action/mod.rs index 84a2b46..3f6a308 100644 --- a/src/action/mod.rs +++ b/src/action/mod.rs @@ -1,6 +1,6 @@ use bevy::{ diagnostic::FrameTimeDiagnosticsPlugin, - prelude::{App, IntoSystemDescriptor, Plugin}, + prelude::{App, IntoSystemDescriptor, Plugin, Resource}, }; use bevy_rapier3d::prelude::{NoUserData, RapierPhysicsPlugin}; @@ -10,6 +10,11 @@ mod systems; pub use components::*; use systems::*; +#[derive(Resource, Default)] +struct CyberLean { + pub lean: f32, +} + pub struct CyberActionPlugin; impl Plugin for CyberActionPlugin { fn build(&self, app: &mut App) { @@ -17,6 +22,7 @@ impl Plugin for CyberActionPlugin { .register_type::() .init_resource::() .init_resource::() + .init_resource::() .register_type::() .add_plugin(RapierPhysicsPlugin::::default()) .add_plugin(FrameTimeDiagnosticsPlugin::default()) From 5378aef653ae95aa51d4d65ed5ea583106148ac6 Mon Sep 17 00:00:00 2001 From: Joe Ardent Date: Sun, 19 Feb 2023 21:21:07 -0800 Subject: [PATCH 02/13] checkpoint adding lean mod to cat system --- src/action/systems.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/action/systems.rs b/src/action/systems.rs index e36dc74..9b5703f 100644 --- a/src/action/systems.rs +++ b/src/action/systems.rs @@ -2,7 +2,9 @@ use std::f32::consts::PI; #[cfg(feature = "inspector")] use std::time::Instant; -use bevy::prelude::{Commands, Entity, Query, Res, ResMut, Time, Transform, Vec3, With, Without}; +use bevy::prelude::{ + Commands, Entity, Quat, Query, Res, ResMut, Time, Transform, Vec3, With, Without, +}; use bevy_rapier3d::prelude::{ CollisionGroups, ExternalForce, Group, MultibodyJoint, QueryFilter, RapierConfiguration, RapierContext, ReadMassProperties, Velocity, @@ -10,7 +12,7 @@ use bevy_rapier3d::prelude::{ #[cfg(feature = "inspector")] use super::ActionDebugInstant; -use super::{CatControllerSettings, CatControllerState, MovementSettings, Tunneling}; +use super::{CatControllerSettings, CatControllerState, CyberLean, MovementSettings, Tunneling}; use crate::{ bike::{CyberBikeBody, CyberSteering, CyberWheel, BIKE_WHEEL_COLLISION_GROUP}, input::InputState, @@ -35,10 +37,13 @@ pub(super) fn falling_cat( mut bike_query: Query<(&Transform, &mut ExternalForce, &mut CatControllerState)>, time: Res