Begin removal of Position component

The position component is redundant with the built-in Bevy Transform.
I've updated the velocity integrator to use the transform directly.

Physics still works, but things still set their initial locations
through the Position component. I'll need to fix all those call sites.
This commit is contained in:
2025-08-09 15:05:02 -05:00
parent 3d0da6df2d
commit ad5e86a06b
2 changed files with 7 additions and 11 deletions

View File

@@ -63,7 +63,6 @@ impl Plugin for AsteroidPlugin {
FixedPostUpdate,
(
physics::integrate_velocity,
physics::update_positions,
physics::apply_rotation_to_mesh,
)
.run_if(in_state(GameState::Playing)),

View File

@@ -25,16 +25,13 @@ pub(crate) struct Wrapping;
/*
Add velocity to position
*/
pub(crate) fn integrate_velocity(mut query: Query<(&mut Position, &Velocity)>, time: Res<Time>) {
for (mut position, velocity) in &mut query {
position.0 += velocity.0 * time.delta_secs();
}
}
pub(crate) fn update_positions(mut query: Query<(&mut Transform, &Position)>) {
for (mut transform, position) in &mut query {
transform.translation.x = position.0.x;
transform.translation.y = position.0.y;
pub(crate) fn integrate_velocity(
mut query: Query<(&mut Transform, &Velocity)>,
time: Res<Time>
) {
for (mut transform, velocity) in &mut query {
let delta = velocity.0 * time.delta_secs();
transform.translation += delta.extend(0.0);
}
}