1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-05 09:42:54 +08:00

Fix hidden dissmissing logic

This commit is contained in:
Dean Herbert 2024-11-26 14:45:40 +09:00
parent 672dbe6e03
commit e8fae85e8d
No known key found for this signature in database
2 changed files with 7 additions and 3 deletions

View File

@ -245,18 +245,19 @@ namespace osu.Game.Overlays
this.FadeOut(200); this.FadeOut(200);
} }
public void Dismiss() public bool Dismiss()
{ {
if (drawableMedal != null && drawableMedal.State != DisplayState.Full) if (drawableMedal != null && drawableMedal.State != DisplayState.Full)
{ {
// if we haven't yet, play out the animation fully // if we haven't yet, play out the animation fully
drawableMedal.State = DisplayState.Full; drawableMedal.State = DisplayState.Full;
FinishTransforms(true); FinishTransforms(true);
return; return false;
} }
Hide(); Hide();
Expire(); Expire();
return true;
} }
private partial class BackgroundStrip : Container private partial class BackgroundStrip : Container

View File

@ -114,7 +114,10 @@ namespace osu.Game.Overlays
if (currentMedalDisplay?.IsLoaded == false) if (currentMedalDisplay?.IsLoaded == false)
return; return;
currentMedalDisplay?.Dismiss(); // Dismissing may sometimes play out the medal animation rather than immediately dismissing.
if (currentMedalDisplay?.Dismiss() == false)
return;
currentMedalDisplay = null; currentMedalDisplay = null;
if (!queuedMedals.Any()) if (!queuedMedals.Any())