From 714d53f3292e102fe086590cfceaf4cfed0638d9 Mon Sep 17 00:00:00 2001 From: EVAST9919 Date: Tue, 27 Jun 2017 05:17:21 +0300 Subject: [PATCH] Hide "Unranked" text in ModDisplay if play is ranked --- osu.Game/Screens/Play/HUD/ModDisplay.cs | 28 +++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/osu.Game/Screens/Play/HUD/ModDisplay.cs b/osu.Game/Screens/Play/HUD/ModDisplay.cs index 921accf6ac..1295bcb9f2 100644 --- a/osu.Game/Screens/Play/HUD/ModDisplay.cs +++ b/osu.Game/Screens/Play/HUD/ModDisplay.cs @@ -12,16 +12,20 @@ using OpenTK; using osu.Framework.Input; using osu.Game.Graphics.Containers; +using System.Linq; namespace osu.Game.Screens.Play.HUD { public class ModDisplay : Container, IHasCurrentValue> { + private const int fade_duration = 1000; + private readonly Bindable> mods = new Bindable>(); public Bindable> Current => mods; private readonly FillFlowContainer iconsContainer; + private readonly OsuSpriteText unrankedText; public ModDisplay() { @@ -35,8 +39,9 @@ public ModDisplay() Direction = FillDirection.Horizontal, Margin = new MarginPadding { Left = 10, Right = 10 }, }, - new OsuSpriteText + unrankedText = new OsuSpriteText { + AlwaysPresent = true, Anchor = Anchor.BottomCentre, Origin = Anchor.TopCentre, Text = @"/ UNRANKED /", @@ -48,6 +53,7 @@ public ModDisplay() mods.ValueChanged += mods => { iconsContainer.Clear(); + foreach (Mod mod in mods) { iconsContainer.Add(new ModIcon(mod) @@ -62,6 +68,19 @@ public ModDisplay() }; } + private bool playIsRanked() + { + if (!mods.Value.Any()) return true; + + foreach (var mod in mods.Value) + { + if (!mod.Ranked) + return false; + } + + return true; + } + protected override void LoadComplete() { base.LoadComplete(); @@ -70,8 +89,13 @@ protected override void LoadComplete() private void appearTransform() { + if (!playIsRanked()) + unrankedText.FadeInFromZero(fade_duration, EasingTypes.OutQuint); + else + unrankedText.FadeTo(0); + iconsContainer.Flush(); - iconsContainer.FadeInFromZero(1000, EasingTypes.OutQuint); + iconsContainer.FadeInFromZero(fade_duration, EasingTypes.OutQuint); expand(); using (iconsContainer.BeginDelayedSequence(1200)) contract();