diff --git a/src/game.rs b/src/game.rs index 3648708..27ca3ef 100644 --- a/src/game.rs +++ b/src/game.rs @@ -27,9 +27,9 @@ impl Plugin for GamePlugin { hide_valid_moves.run_if(any_component_removed::()), manage_score.run_if(any_component_added::()), check_endgame.run_if(resource_changed::), - reset_game.run_if(in_state(GameState::Restart)), - ), + ).run_if(in_state(GameState::Play)), ) + .add_systems(Update, reset_game.run_if(in_state(GameState::Restart))) .add_systems(OnEnter(GameState::Endgame), set_endgame.after(manage_score)) .add_systems(OnExit(GameState::Endgame), clear_endgame) .add_systems( diff --git a/src/main.rs b/src/main.rs index 7405a1a..75a9c6a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -85,8 +85,10 @@ pub(crate) enum DisplayState { /// System for printing the current state /// /// Only runs when state is modified. -fn debug_state(state: Res>) { - info!("State change {:?}", *state); +fn debug_state(mut events: EventReader>) { + events.read().for_each(|event| { + info!("State change {:?} -> {:?}", event.before, event.after); + }) } pub(crate) fn manage_state_entities() -> impl FnMut(