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

Highlight major changes on the changelog overlay (#4954)

Highlight major changes on the changelog overlay

Co-authored-by: Dean Herbert <pe@ppy.sh>
This commit is contained in:
Dean Herbert 2019-06-09 16:26:07 +09:00 committed by GitHub
commit 3567bf3863
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 50 additions and 10 deletions

View File

@ -36,7 +36,7 @@ namespace osu.Game.Online.API.Requests.Responses
public string MessageHtml { get; set; } public string MessageHtml { get; set; }
[JsonProperty("major")] [JsonProperty("major")]
public bool? Major { get; set; } public bool Major { get; set; }
[JsonProperty("created_at")] [JsonProperty("created_at")]
public DateTimeOffset? CreatedAt { get; set; } public DateTimeOffset? CreatedAt { get; set; }

View File

@ -13,6 +13,7 @@ using System.Text.RegularExpressions;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
using osu.Game.Users; using osu.Game.Users;
using osuTK.Graphics; using osuTK.Graphics;
using osu.Framework.Allocation;
namespace osu.Game.Overlays.Changelog namespace osu.Game.Overlays.Changelog
{ {
@ -45,8 +46,12 @@ namespace osu.Game.Overlays.Changelog
Direction = FillDirection.Vertical, Direction = FillDirection.Vertical,
}, },
}; };
}
foreach (var categoryEntries in build.ChangelogEntries.GroupBy(b => b.Category).OrderBy(c => c.Key)) [BackgroundDependencyLoader]
private void load(OsuColour colours)
{
foreach (var categoryEntries in Build.ChangelogEntries.GroupBy(b => b.Category).OrderBy(c => c.Key))
{ {
ChangelogEntries.Add(new OsuSpriteText ChangelogEntries.Add(new OsuSpriteText
{ {
@ -69,34 +74,69 @@ namespace osu.Game.Overlays.Changelog
Margin = new MarginPadding { Vertical = 5 }, Margin = new MarginPadding { Vertical = 5 },
}; };
var entryColour = entry.Major ? colours.YellowLight : Color4.White;
title.AddIcon(FontAwesome.Solid.Check, t => title.AddIcon(FontAwesome.Solid.Check, t =>
{ {
t.Font = fontSmall; t.Font = fontSmall;
t.Colour = entryColour;
t.Padding = new MarginPadding { Left = -17, Right = 5 }; t.Padding = new MarginPadding { Left = -17, Right = 5 };
}); });
title.AddText(entry.Title, t => { t.Font = fontLarge; }); title.AddText(entry.Title, t =>
{
t.Font = fontLarge;
t.Colour = entryColour;
});
if (!string.IsNullOrEmpty(entry.Repository)) if (!string.IsNullOrEmpty(entry.Repository))
{ {
title.AddText(" (", t => t.Font = fontLarge); title.AddText(" (", t =>
{
t.Font = fontLarge;
t.Colour = entryColour;
});
title.AddLink($"{entry.Repository.Replace("ppy/", "")}#{entry.GithubPullRequestId}", entry.GithubUrl, Online.Chat.LinkAction.External, title.AddLink($"{entry.Repository.Replace("ppy/", "")}#{entry.GithubPullRequestId}", entry.GithubUrl, Online.Chat.LinkAction.External,
creationParameters: t => { t.Font = fontLarge; }); creationParameters: t =>
title.AddText(")", t => t.Font = fontLarge); {
t.Font = fontLarge;
t.Colour = entryColour;
});
title.AddText(")", t =>
{
t.Font = fontLarge;
t.Colour = entryColour;
});
} }
title.AddText(" by ", t => t.Font = fontMedium); title.AddText(" by ", t =>
{
t.Font = fontMedium;
t.Colour = entryColour;
});
if (entry.GithubUser.UserId != null) if (entry.GithubUser.UserId != null)
title.AddUserLink(new User title.AddUserLink(new User
{ {
Username = entry.GithubUser.OsuUsername, Username = entry.GithubUser.OsuUsername,
Id = entry.GithubUser.UserId.Value Id = entry.GithubUser.UserId.Value
}, t => t.Font = fontMedium); }, t =>
{
t.Font = fontMedium;
t.Colour = entryColour;
});
else if (entry.GithubUser.GithubUrl != null) else if (entry.GithubUser.GithubUrl != null)
title.AddLink(entry.GithubUser.DisplayName, entry.GithubUser.GithubUrl, Online.Chat.LinkAction.External, null, null, t => t.Font = fontMedium); title.AddLink(entry.GithubUser.DisplayName, entry.GithubUser.GithubUrl, Online.Chat.LinkAction.External, null, null, t =>
{
t.Font = fontMedium;
t.Colour = entryColour;
});
else else
title.AddText(entry.GithubUser.DisplayName, t => t.Font = fontSmall); title.AddText(entry.GithubUser.DisplayName, t =>
{
t.Font = fontSmall;
t.Colour = entryColour;
});
ChangelogEntries.Add(title); ChangelogEntries.Add(title);