From 387644214390e440ce99ab8294022d8b51b7df10 Mon Sep 17 00:00:00 2001 From: KingLuigi4932 Date: Wed, 19 Jun 2019 03:37:08 +0300 Subject: [PATCH] More simplifies + fix test --- .../Visual/Online/TestSceneBeatmapSetOverlay.cs | 13 ++++++++++++- .../Overlays/BeatmapSet/BeatmapNotAvailable.cs | 17 +++++++---------- osu.Game/Overlays/BeatmapSet/Header.cs | 4 ++-- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/osu.Game.Tests/Visual/Online/TestSceneBeatmapSetOverlay.cs b/osu.Game.Tests/Visual/Online/TestSceneBeatmapSetOverlay.cs index c97aa5a13c..2e68be981c 100644 --- a/osu.Game.Tests/Visual/Online/TestSceneBeatmapSetOverlay.cs +++ b/osu.Game.Tests/Visual/Online/TestSceneBeatmapSetOverlay.cs @@ -242,6 +242,8 @@ namespace osu.Game.Tests.Visual.Online }, false); }); + downloadAssert(true); + AddStep(@"show second", () => { overlay.ShowBeatmapSet(new BeatmapSetInfo @@ -408,6 +410,8 @@ namespace osu.Game.Tests.Visual.Online }, }, false); }); + + downloadAssert(true); } [Test] @@ -559,6 +563,8 @@ namespace osu.Game.Tests.Visual.Online }, false); }); + downloadAssert(true); + AddStep(@"show undownloadable", () => { overlay.ShowBeatmapSet(new BeatmapSetInfo @@ -705,7 +711,12 @@ namespace osu.Game.Tests.Visual.Online }, false); }); - AddAssert(@"is download button removed", () => overlay.Header.DownloadButtonsContainer.Any()); + downloadAssert(false); + } + + private void downloadAssert(bool shown) + { + AddAssert($"is download button {(shown ? "shown" : "hidden")}", () => overlay.Header.DownloadButtonsContainer.Any() == shown); } [Test] diff --git a/osu.Game/Overlays/BeatmapSet/BeatmapNotAvailable.cs b/osu.Game/Overlays/BeatmapSet/BeatmapNotAvailable.cs index 6472077c8b..23d7faefc1 100644 --- a/osu.Game/Overlays/BeatmapSet/BeatmapNotAvailable.cs +++ b/osu.Game/Overlays/BeatmapSet/BeatmapNotAvailable.cs @@ -22,16 +22,12 @@ namespace osu.Game.Overlays.BeatmapSet get => beatmapSet; set { - if (value == beatmapSet) return; + if (value == beatmapSet) + return; beatmapSet = value; - link?.Clear(); - - if (beatmapSet?.OnlineInfo.Availability != null) - Show(); - else - Hide(); + updateText(); } } @@ -81,16 +77,17 @@ namespace osu.Game.Overlays.BeatmapSet }; } - public override void Show() + private void updateText() { + if (availability == null) + return; + text.Text = availability.DownloadDisabled ? "This beatmap is currently not available for download." : "Portions of this beatmap have been removed at the request of the creator or a third-party rights holder."; if (!string.IsNullOrEmpty(availability.ExternalLink)) link.AddLink("Check here for more information.", availability.ExternalLink); - - base.Show(); } } } diff --git a/osu.Game/Overlays/BeatmapSet/Header.cs b/osu.Game/Overlays/BeatmapSet/Header.cs index 0f3ce008cf..0439ee4797 100644 --- a/osu.Game/Overlays/BeatmapSet/Header.cs +++ b/osu.Game/Overlays/BeatmapSet/Header.cs @@ -220,7 +220,7 @@ namespace osu.Game.Overlays.BeatmapSet if (BeatmapSet.Value.OnlineInfo.Availability?.DownloadDisabled ?? false) { - DownloadButtonsContainer.RemoveAll(x => true); + DownloadButtonsContainer.Clear(); return; } @@ -228,7 +228,7 @@ namespace osu.Game.Overlays.BeatmapSet { case DownloadState.LocallyAvailable: // temporary for UX until new design is implemented. - DownloadButtonsContainer.Child = new osu.Game.Overlays.Direct.DownloadButton(BeatmapSet.Value) + DownloadButtonsContainer.Child = new Direct.DownloadButton(BeatmapSet.Value) { Width = 50, RelativeSizeAxes = Axes.Y