Privatize UserRanks and expose a similar CountryRank field instead

This commit is contained in:
Salman Ahmed 2021-02-18 15:37:52 +03:00
parent e14a59f272
commit a407bfe73b
4 changed files with 12 additions and 7 deletions

View File

@ -34,7 +34,7 @@ namespace osu.Game.Tests.Visual.Online
Statistics = new UserStatistics Statistics = new UserStatistics
{ {
GlobalRank = 2148, GlobalRank = 2148,
Ranks = new UserStatistics.UserRanks { Country = 1, }, CountryRank = 1,
PP = 4567.89m, PP = 4567.89m,
Level = new UserStatistics.LevelInfo Level = new UserStatistics.LevelInfo
{ {

View File

@ -145,7 +145,7 @@ namespace osu.Game.Overlays.Profile.Header
private void updateDisplay(User user) private void updateDisplay(User user)
{ {
hiddenDetailGlobal.Content = user?.Statistics?.GlobalRank?.ToString("\\##,##0") ?? "-"; hiddenDetailGlobal.Content = user?.Statistics?.GlobalRank?.ToString("\\##,##0") ?? "-";
hiddenDetailCountry.Content = user?.Statistics?.Ranks.Country?.ToString("\\##,##0") ?? "-"; hiddenDetailCountry.Content = user?.Statistics?.CountryRank?.ToString("\\##,##0") ?? "-";
} }
} }
} }

View File

@ -177,7 +177,7 @@ namespace osu.Game.Overlays.Profile.Header
scoreRankInfo.Value.RankCount = user?.Statistics?.GradesCount[scoreRankInfo.Key] ?? 0; scoreRankInfo.Value.RankCount = user?.Statistics?.GradesCount[scoreRankInfo.Key] ?? 0;
detailGlobalRank.Content = user?.Statistics?.GlobalRank?.ToString("\\##,##0") ?? "-"; detailGlobalRank.Content = user?.Statistics?.GlobalRank?.ToString("\\##,##0") ?? "-";
detailCountryRank.Content = user?.Statistics?.Ranks.Country?.ToString("\\##,##0") ?? "-"; detailCountryRank.Content = user?.Statistics?.CountryRank?.ToString("\\##,##0") ?? "-";
rankGraph.Statistics.Value = user?.Statistics; rankGraph.Statistics.Value = user?.Statistics;
} }

View File

@ -29,10 +29,15 @@ namespace osu.Game.Users
[JsonProperty(@"global_rank")] [JsonProperty(@"global_rank")]
public int? GlobalRank; public int? GlobalRank;
// eventually UserRanks object will be completely replaced with separate global rank (exists) and country rank properties public int? CountryRank;
// see https://github.com/ppy/osu-web/blob/cb79bb72186c8f1a25f6a6f5ef315123decb4231/app/Transformers/UserStatisticsTransformer.php#L53.
[JsonProperty(@"rank")] [JsonProperty(@"rank")]
public UserRanks Ranks; private UserRanks ranks
{
// eventually that will also become an own json property instead of reading from a `rank` object.
// see https://github.com/ppy/osu-web/blob/cb79bb72186c8f1a25f6a6f5ef315123decb4231/app/Transformers/UserStatisticsTransformer.php#L53.
set => CountryRank = value.Country;
}
[JsonProperty(@"pp")] [JsonProperty(@"pp")]
public decimal? PP; public decimal? PP;
@ -115,7 +120,7 @@ namespace osu.Game.Users
} }
} }
public struct UserRanks private struct UserRanks
{ {
[JsonProperty(@"country")] [JsonProperty(@"country")]
public int? Country; public int? Country;