diff --git a/src/main.rs b/src/main.rs index 2644e1e..64128dc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,7 @@ const METER: f32 = 48.; fn main() { App::new() .add_plugins(DefaultPlugins) + .insert_resource(RapierConfiguration::new(METER * 2.5)) .add_plugins(RapierPhysicsPlugin::::pixels_per_meter(METER)) .add_plugins(RapierDebugRenderPlugin::default()) .add_systems(Startup, (scene::setup_scene, setup_cam, player::add_player)) @@ -25,79 +26,5 @@ fn setup_cam(mut commands: Commands) { }); } +mod player; mod scene; -mod player { - use bevy::{ - prelude::*, - sprite::{MaterialMesh2dBundle, Mesh2dHandle}, - }; - use bevy_rapier2d::prelude::*; - - use crate::METER; - - #[derive(Component)] - pub struct Player { - move_cooldown: Timer, - grounded: bool, - } - - pub fn add_player( - mut commands: Commands, - mut meshes: ResMut>, - mut materials: ResMut>, - ) { - let shape = Mesh2dHandle(meshes.add(Rectangle::new(0.8 * METER, 1.8 * METER))); - commands - .spawn(Player { - move_cooldown: Timer::from_seconds(0.01, TimerMode::Repeating), - grounded: false, - }) - .insert(MaterialMesh2dBundle { - mesh: shape, - material: materials.add(Color::rgb(0.2, 0.9, 0.2)), - transform: Transform::from_xyz(0., 0., 0.), - ..default() - }) - .insert(( - RigidBody::Dynamic, - Collider::cuboid(0.4 * METER, 0.9 * METER), - )) - .insert(KinematicCharacterController { ..default() }); - } - - pub fn player_ground_collision( - player: Query>, - mut collision_events: EventReader, - ) { - let p = player.single(); - for collision_event in collision_events.read() { - dbg!(p); - dbg!(collision_event); - } - } - - pub fn move_player( - kb_input: Res>, - mut query: Query<(&mut Player, &mut KinematicCharacterController)>, - time: Res