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::() .register_type::() .init_resource::() .init_resource::() .init_resource::() .register_type::() .register_type::() .add_plugins(( PhysicsPlugins::default(), FrameTimeDiagnosticsPlugin::default(), )) .insert_resource(SubstepCount(12)) .add_systems( Update, (gravity, cyber_lean, falling_cat, input_forces).chain(), ); } }