1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 06:57:39 +08:00

Make DownloadButton accessible by DirectPanel

This commit is contained in:
KingLuigi4932 2019-06-12 18:07:57 +03:00
parent efd9766fb3
commit a069a3029e
4 changed files with 13 additions and 3 deletions

View File

@ -25,9 +25,11 @@ namespace osu.Game.Overlays.Direct
private const float vertical_padding = 5;
private FillFlowContainer bottomPanel, statusContainer;
private DownloadButton downloadButton;
private PlayButton playButton;
private Box progressBar;
public override DownloadButton DownloadButton => downloadButton;
protected override PlayButton PlayButton => playButton;
protected override Box PreviewBar => progressBar;
@ -155,7 +157,7 @@ namespace osu.Game.Overlays.Direct
},
},
},
new DownloadButton(SetInfo)
downloadButton = new DownloadButton(SetInfo)
{
Size = new Vector2(50, 30),
Margin = new MarginPadding(horizontal_padding),

View File

@ -27,11 +27,13 @@ namespace osu.Game.Overlays.Direct
private const float height = 70;
private FillFlowContainer statusContainer;
private DownloadButton downloadButton;
private PlayButton playButton;
private Box progressBar;
protected override bool FadePlayButton => false;
public override DownloadButton DownloadButton => downloadButton;
protected override PlayButton PlayButton => playButton;
protected override Box PreviewBar => progressBar;
@ -149,7 +151,7 @@ namespace osu.Game.Overlays.Direct
Anchor = Anchor.CentreRight,
Origin = Anchor.CentreRight,
AutoSizeAxes = Axes.Both,
Child = new DownloadButton(SetInfo)
Child = downloadButton = new DownloadButton(SetInfo)
{
Size = new Vector2(height - vertical_padding * 3),
Margin = new MarginPadding { Left = vertical_padding * 2, Right = vertical_padding },

View File

@ -34,6 +34,7 @@ namespace osu.Game.Overlays.Direct
public PreviewTrack Preview => PlayButton.Preview;
public Bindable<bool> PreviewPlaying => PlayButton.Playing;
public abstract DownloadButton DownloadButton { get; }
protected abstract PlayButton PlayButton { get; }
protected abstract Box PreviewBar { get; }

View File

@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
@ -26,6 +27,8 @@ namespace osu.Game.Overlays.Direct
private readonly OsuAnimatedButton button;
public readonly BindableBool Enabled = new BindableBool(true);
public DownloadButton(BeatmapSetInfo beatmapSet, bool noVideo = false)
: base(beatmapSet)
{
@ -62,6 +65,8 @@ namespace osu.Game.Overlays.Direct
}
}
};
Enabled.BindTo(button.Enabled);
}
protected override void LoadComplete()
@ -79,7 +84,7 @@ namespace osu.Game.Overlays.Direct
if (BeatmapSet.Value.OnlineInfo.Availability?.DownloadDisabled ?? false)
{
button.Enabled.Value = false;
Enabled.Value = false;
button.TooltipText = "Unavailable";
return;
}