42 lines
1.2 KiB
Rust
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(),
|
|
);
|
|
}
|
|
}
|