diff --git a/solitaire_engine/src/stats_plugin.rs b/solitaire_engine/src/stats_plugin.rs index 45ecf0f..60607fd 100644 --- a/solitaire_engine/src/stats_plugin.rs +++ b/solitaire_engine/src/stats_plugin.rs @@ -29,7 +29,7 @@ use crate::progress_plugin::ProgressResource; use crate::resources::GameStateResource; use crate::time_attack_plugin::TimeAttackResource; use crate::ui_modal::{ - ButtonVariant, ModalButton, ScrimDismissible, spawn_modal, spawn_modal_actions, + ButtonVariant, ModalButton, ModalScrim, ScrimDismissible, spawn_modal, spawn_modal_actions, spawn_modal_button, spawn_modal_header, }; use crate::ui_theme::{ @@ -649,6 +649,7 @@ fn toggle_stats_screen( latest_replay: Res, selected_index: Res, screens: Query>, + other_modal_scrims: Query<(), (With, Without)>, ) { let button_clicked = requests.read().count() > 0; if !keys.just_pressed(KeyCode::KeyS) && !button_clicked { @@ -657,6 +658,9 @@ fn toggle_stats_screen( if let Ok(entity) = screens.single() { commands.entity(entity).despawn(); } else { + if !other_modal_scrims.is_empty() { + return; + } spawn_stats_screen( &mut commands, &stats.0,