diff --git a/src/navigation.rs b/src/navigation.rs index 1bd8aec..c1185f8 100644 --- a/src/navigation.rs +++ b/src/navigation.rs @@ -405,16 +405,17 @@ where .add_system(update_direction) .add_system(speak_direction.chain(error_handler)) .add_system_to_stage(CoreStage::PostUpdate, remove_speed); + const MOVEMENT_CONTROLS: &str = "MOVEMENT_CONTROLS"; if config.movement_control_states.is_empty() { - app.add_system(movement_controls::) - .add_system(snap::.chain(error_handler)); + app.add_system(movement_controls::.label(MOVEMENT_CONTROLS)) + .add_system(snap::.chain(error_handler).before(MOVEMENT_CONTROLS)); } else { let states = config.movement_control_states; for state in states { app.add_system_set( SystemSet::on_update(state) - .with_system(movement_controls::) - .with_system(snap::.chain(error_handler)), + .with_system(movement_controls::.label(MOVEMENT_CONTROLS)) + .with_system(snap::.chain(error_handler).before(MOVEMENT_CONTROLS)), ); } }