diff --git a/solitaire_engine/src/leaderboard_plugin.rs b/solitaire_engine/src/leaderboard_plugin.rs index 341ccde..d4cb1ec 100644 --- a/solitaire_engine/src/leaderboard_plugin.rs +++ b/solitaire_engine/src/leaderboard_plugin.rs @@ -191,6 +191,7 @@ fn toggle_leaderboard_screen( keys: Res>, mut requests: MessageReader, screens: Query>, + other_modal_scrims: Query<(), (With, Without)>, data: Res, provider: Option>, settings: Option>, @@ -208,6 +209,11 @@ fn toggle_leaderboard_screen( return; } + // Don't stack a second modal scrim over one that is already open. + if !other_modal_scrims.is_empty() { + return; + } + // Spawn the panel immediately with whatever data we have so far. let remote_available = provider .as_ref()