1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-05 10:45:36 +08:00

Compare commits

...

9 Commits

Author SHA1 Message Date
Dean Herbert
90e1f6efbf
Merge pull request #8341 from smoogipoo/score-panel-scrolling
Make score panel scroll if off-screen
2020-03-18 19:00:48 +09:00
Dean Herbert
7cece7ce1b
Merge pull request #8339 from smoogipoo/update-rank-colours
Update rank badge colours
2020-03-18 18:59:45 +09:00
Dean Herbert
25983cfe0e
Merge pull request #8340 from smoogipoo/results-date-played
Add date played to score panel
2020-03-18 18:55:26 +09:00
Dean Herbert
6c45694f01
Merge pull request #8338 from smoogipoo/colourise-hit-statistics
Colourise results screen hit statistics
2020-03-18 18:55:10 +09:00
smoogipoo
1d211cb563 Make score panel scroll if off-screen 2020-03-18 18:28:42 +09:00
smoogipoo
63531a8564 Add date played to score panel 2020-03-18 17:59:44 +09:00
smoogipoo
b91dc15dbf Update rank badge colours 2020-03-18 17:37:03 +09:00
smoogipoo
66558ca8c5 Colourise hit result statistics 2020-03-18 17:26:17 +09:00
smoogipoo
5f09c70f75 Move judgement colours to OsuColour 2020-03-18 17:21:36 +09:00
6 changed files with 74 additions and 35 deletions

View File

@ -3,6 +3,7 @@
using osu.Framework.Extensions.Color4Extensions;
using osu.Game.Beatmaps;
using osu.Game.Rulesets.Scoring;
using osu.Game.Scoring;
using osuTK.Graphics;
@ -47,23 +48,49 @@ namespace osu.Game.Graphics
{
case ScoreRank.XH:
case ScoreRank.X:
return Color4Extensions.FromHex(@"ce1c9d");
return Color4Extensions.FromHex(@"de31ae");
case ScoreRank.SH:
case ScoreRank.S:
return Color4Extensions.FromHex(@"00a8b5");
return Color4Extensions.FromHex(@"02b5c3");
case ScoreRank.A:
return Color4Extensions.FromHex(@"7cce14");
return Color4Extensions.FromHex(@"88da20");
case ScoreRank.B:
return Color4Extensions.FromHex(@"e3b130");
case ScoreRank.C:
return Color4Extensions.FromHex(@"f18252");
return Color4Extensions.FromHex(@"ff8e5d");
default:
return Color4Extensions.FromHex(@"e95353");
return Color4Extensions.FromHex(@"ff5a5a");
}
}
/// <summary>
/// Retrieves the colour for a <see cref="HitResult"/>.
/// </summary>
public Color4 ForHitResult(HitResult judgement)
{
switch (judgement)
{
case HitResult.Perfect:
case HitResult.Great:
return Blue;
case HitResult.Ok:
case HitResult.Good:
return Green;
case HitResult.Meh:
return Yellow;
case HitResult.Miss:
return Red;
default:
return Color4.White;
}
}

View File

@ -12,7 +12,6 @@ using osu.Game.Graphics.Sprites;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Scoring;
using osu.Game.Skinning;
using osuTK.Graphics;
namespace osu.Game.Rulesets.Judgements
{
@ -68,7 +67,7 @@ namespace osu.Game.Rulesets.Judgements
{
Text = Result.Type.GetDescription().ToUpperInvariant(),
Font = OsuFont.Numeric.With(size: 20),
Colour = judgementColour(Result.Type),
Colour = colours.ForHitResult(Result.Type),
Scale = new Vector2(0.85f, 1),
}, confineMode: ConfineMode.NoScaling)
};
@ -110,28 +109,5 @@ namespace osu.Game.Rulesets.Judgements
Expire(true);
}
private Color4 judgementColour(HitResult judgement)
{
switch (judgement)
{
case HitResult.Perfect:
case HitResult.Great:
return colours.Blue;
case HitResult.Ok:
case HitResult.Good:
return colours.Green;
case HitResult.Meh:
return colours.Yellow;
case HitResult.Miss:
return colours.Red;
default:
return Color4.White;
}
}
}
}

View File

@ -5,7 +5,6 @@ using System.Collections.Generic;
using System.Linq;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Localisation;
@ -63,7 +62,7 @@ namespace osu.Game.Screens.Ranking.Expanded
var bottomStatistics = new List<StatisticDisplay>();
foreach (var stat in score.SortedStatistics)
bottomStatistics.Add(new CounterStatistic(stat.Key.GetDescription(), stat.Value));
bottomStatistics.Add(new HitResultStatistic(stat.Key, stat.Value));
statisticDisplays.AddRange(topStatistics);
statisticDisplays.AddRange(bottomStatistics);
@ -205,6 +204,13 @@ namespace osu.Game.Screens.Ranking.Expanded
}
}
}
},
new OsuSpriteText
{
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
Font = OsuFont.GetFont(size: 10, weight: FontWeight.SemiBold),
Text = $"Played on {score.Date.ToLocalTime():g}"
}
}
};

View File

@ -0,0 +1,27 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Framework.Extensions;
using osu.Game.Graphics;
using osu.Game.Rulesets.Scoring;
namespace osu.Game.Screens.Ranking.Expanded.Statistics
{
public class HitResultStatistic : CounterStatistic
{
private readonly HitResult result;
public HitResultStatistic(HitResult result, int count)
: base(result.GetDescription(), count)
{
this.result = result;
}
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
HeaderText.Colour = colours.ForHitResult(result);
}
}
}

View File

@ -6,6 +6,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
@ -16,8 +17,9 @@ namespace osu.Game.Screens.Ranking.Expanded.Statistics
/// </summary>
public abstract class StatisticDisplay : CompositeDrawable
{
private readonly string header;
protected SpriteText HeaderText { get; private set; }
private readonly string header;
private Drawable content;
/// <summary>
@ -53,7 +55,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Statistics
RelativeSizeAxes = Axes.Both,
Colour = Color4Extensions.FromHex("#222")
},
new OsuSpriteText
HeaderText = new OsuSpriteText
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,

View File

@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System;
using osu.Framework.Allocation;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
@ -135,7 +136,7 @@ namespace osu.Game.Screens.Ranking
protected override void Update()
{
base.Update();
content.Height = DrawHeight;
content.Height = Math.Max(768, DrawHeight);
}
}
}