Move physics parts to a physics module

This commit is contained in:
2025-09-02 10:06:08 -05:00
parent 532025b42f
commit 3eb23fb4bf
3 changed files with 23 additions and 18 deletions

16
src/birdoids/physics.rs Normal file
View File

@@ -0,0 +1,16 @@
use bevy::prelude::*;
#[derive(Component, Deref, DerefMut)]
pub struct Velocity(pub Vec3);
#[derive(Component, Default, Deref, DerefMut, PartialEq, Debug)]
pub struct Force(pub Vec3);
pub fn apply_velocity(mut query: Query<(&mut Transform, &Velocity, &mut Force)>, time: Res<Time>) {
for (mut transform, velocity, mut acceleration) in &mut query {
let delta_v = **acceleration * time.delta_secs();
**acceleration = Vec3::ZERO;
let delta_position = (**velocity + delta_v) * time.delta_secs();
transform.translation += delta_position;
}
}