cyber_rider/src/action/mod.rs
2024-07-14 22:52:24 -07:00

42 lines
1.2 KiB
Rust

use avian3d::prelude::*;
use bevy::{
app::{Startup, Update},
diagnostic::FrameTimeDiagnosticsPlugin,
ecs::reflect::ReflectResource,
prelude::{App, IntoSystemConfigs, Plugin, Resource},
reflect::Reflect,
};
mod components;
mod systems;
pub use components::*;
use systems::*;
#[derive(Resource, Default, Debug, Reflect)]
#[reflect(Resource)]
struct CyberLean {
pub lean: f32,
}
pub struct CyberActionPlugin;
impl Plugin for CyberActionPlugin {
fn build(&self, app: &mut App) {
app.init_resource::<MovementSettings>()
.register_type::<MovementSettings>()
.init_resource::<CatControllerSettings>()
.init_resource::<ActionDebugInstant>()
.init_resource::<CyberLean>()
.register_type::<CyberLean>()
.register_type::<CatControllerSettings>()
.add_plugins((
PhysicsPlugins::default(),
FrameTimeDiagnosticsPlugin::default(),
))
.insert_resource(SubstepCount(12))
.add_systems(
Update,
(gravity, cyber_lean, falling_cat, input_forces).chain(),
);
}
}