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:
@@ -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)),
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user