diff --git a/src/exploration.rs b/src/exploration.rs index 3145dd7..4844347 100644 --- a/src/exploration.rs +++ b/src/exploration.rs @@ -399,7 +399,9 @@ where .register_type::() .add_plugin(InputManagerPlugin::::default()) .add_system( - exploration_changed_announcement::.pipe(error_handler), + exploration_changed_announcement:: + .pipe(error_handler) + .in_base_set(CoreSet::PostUpdate), ); if config.states.is_empty() { app.add_systems(( diff --git a/src/navigation.rs b/src/navigation.rs index 1d594d2..293f9dd 100644 --- a/src/navigation.rs +++ b/src/navigation.rs @@ -417,15 +417,11 @@ where .register_type::() .register_type::() .add_plugin(InputManagerPlugin::::default()) - .add_system(update_direction.in_base_set(CoreSet::PreUpdate)) + .add_systems((update_direction, add_speed).in_base_set(CoreSet::PreUpdate)) .add_systems( (remove_direction, log_area_descriptions::).in_base_set(CoreSet::PostUpdate), ) - .add_systems(( - tick_snap_timers, - speak_direction.pipe(error_handler), - add_speed, - )); + .add_systems((tick_snap_timers, speak_direction.pipe(error_handler))); if self.states.is_empty() { app.add_systems((controls.in_set(MovementControls), snap.pipe(error_handler)).chain()); } else { diff --git a/src/sound/icon.rs b/src/sound/icon.rs index 932a618..88fdcde 100644 --- a/src/sound/icon.rs +++ b/src/sound/icon.rs @@ -202,12 +202,11 @@ where fn build(&self, app: &mut App) { app.insert_resource(self.clone()) .register_type::() - .add_system(added) - .add_system(update::.in_base_set(CoreSet::PostUpdate)) - .add_system( - exploration_focus_changed - .in_base_set(CoreSet::PostUpdate) - .after(update::), + .add_system(added.in_base_set(CoreSet::PreUpdate)) + .add_systems( + (exploration_focus_changed, update::) + .chain() + .in_base_set(CoreSet::PostUpdate), ) .add_system( exploration_focus_removed