Clean up some more leftover code

This commit is contained in:
naoey 2019-06-30 10:56:20 +05:30
parent 04c467fd81
commit bfcbb47b77
No known key found for this signature in database
GPG Key ID: 670DA9BE3DF7EE60
1 changed files with 24 additions and 27 deletions

View File

@ -21,17 +21,9 @@ namespace osu.Game.Screens.Play
{ {
public class ReplayDownloadButton : DownloadTrackingComposite<ScoreInfo, ScoreManager>, IHasTooltip public class ReplayDownloadButton : DownloadTrackingComposite<ScoreInfo, ScoreManager>, IHasTooltip
{ {
private const int size = 40;
[Resolved(canBeNull: true)]
private OsuGame game { get; set; }
[Resolved] [Resolved]
private ScoreManager scores { get; set; } private ScoreManager scores { get; set; }
[Resolved]
private OsuColour colours { get; set; }
private OsuClickableContainer button; private OsuClickableContainer button;
private SpriteIcon downloadIcon; private SpriteIcon downloadIcon;
private SpriteIcon playIcon; private SpriteIcon playIcon;
@ -42,7 +34,7 @@ public string TooltipText
{ {
get get
{ {
switch (getReplayAvailability()) switch (replayAvailability)
{ {
case ReplayAvailability.Local: case ReplayAvailability.Local:
return @"Watch replay"; return @"Watch replay";
@ -56,6 +48,20 @@ public string TooltipText
} }
} }
private ReplayAvailability replayAvailability
{
get
{
if (scores.IsAvailableLocally(Model.Value))
return ReplayAvailability.Local;
if (Model.Value is APILegacyScoreInfo apiScore && apiScore.Replay)
return ReplayAvailability.Online;
return ReplayAvailability.NotAvailable;
}
}
public ReplayDownloadButton(ScoreInfo score) public ReplayDownloadButton(ScoreInfo score)
: base(score) : base(score)
{ {
@ -63,7 +69,7 @@ public ReplayDownloadButton(ScoreInfo score)
} }
[BackgroundDependencyLoader(true)] [BackgroundDependencyLoader(true)]
private void load() private void load(OsuGame game, OsuColour colours)
{ {
InternalChild = shakeContainer = new ShakeContainer InternalChild = shakeContainer = new ShakeContainer
{ {
@ -71,7 +77,7 @@ private void load()
Child = circle = new CircularContainer Child = circle = new CircularContainer
{ {
Masking = true, Masking = true,
Size = new Vector2(size), Size = new Vector2(40),
EdgeEffect = new EdgeEffectParameters EdgeEffect = new EdgeEffectParameters
{ {
Colour = Color4.Black.Opacity(0.4f), Colour = Color4.Black.Opacity(0.4f),
@ -132,41 +138,32 @@ private void load()
switch (state.NewValue) switch (state.NewValue)
{ {
case DownloadState.Downloading: case DownloadState.Downloading:
playIcon.ResizeTo(Vector2.Zero, 400, Easing.OutQuint);
downloadIcon.ResizeTo(13, 400, Easing.OutQuint);
circle.FadeEdgeEffectTo(colours.Yellow, 400, Easing.OutQuint); circle.FadeEdgeEffectTo(colours.Yellow, 400, Easing.OutQuint);
break; break;
case DownloadState.LocallyAvailable: case DownloadState.LocallyAvailable:
playIcon.ResizeTo(13, 300, Easing.OutQuint); playIcon.ResizeTo(13, 400, Easing.OutQuint);
downloadIcon.ResizeTo(Vector2.Zero, 300, Easing.OutExpo); downloadIcon.ResizeTo(Vector2.Zero, 400, Easing.OutQuint);
circle.FadeEdgeEffectTo(Color4.Black.Opacity(0.4f), 400, Easing.OutQuint); circle.FadeEdgeEffectTo(Color4.Black.Opacity(0.4f), 400, Easing.OutQuint);
break; break;
case DownloadState.NotDownloaded: case DownloadState.NotDownloaded:
playIcon.ResizeTo(Vector2.Zero, 300, Easing.OutQuint); playIcon.ResizeTo(Vector2.Zero, 400, Easing.OutQuint);
downloadIcon.ResizeTo(13, 300, Easing.OutExpo); downloadIcon.ResizeTo(13, 400, Easing.OutQuint);
circle.FadeEdgeEffectTo(Color4.Black.Opacity(0.4f), 400, Easing.OutQuint); circle.FadeEdgeEffectTo(Color4.Black.Opacity(0.4f), 400, Easing.OutQuint);
break; break;
} }
}, true); }, true);
if (getReplayAvailability() == ReplayAvailability.NotAvailable) if (replayAvailability == ReplayAvailability.NotAvailable)
{ {
button.Enabled.Value = false; button.Enabled.Value = false;
button.Alpha = 0.6f; button.Alpha = 0.6f;
} }
} }
private ReplayAvailability getReplayAvailability()
{
if (scores.IsAvailableLocally(Model.Value))
return ReplayAvailability.Local;
if (Model.Value is APILegacyScoreInfo apiScore && apiScore.Replay)
return ReplayAvailability.Online;
return ReplayAvailability.NotAvailable;
}
private enum ReplayAvailability private enum ReplayAvailability
{ {
Local, Local,