mirror of
https://github.com/osukey/osukey.git
synced 2025-08-04 15:16:38 +09:00
Decouple APILegacyScoreInfo from ScoreInfo
This commit is contained in:
@ -41,6 +41,9 @@ namespace osu.Game.Overlays.BeatmapSet.Scores
|
||||
[Resolved]
|
||||
private IAPIProvider api { get; set; }
|
||||
|
||||
[Resolved]
|
||||
private RulesetStore rulesets { get; set; }
|
||||
|
||||
private GetScoresRequest getScoresRequest;
|
||||
|
||||
protected APILegacyScores Scores
|
||||
@ -56,16 +59,19 @@ namespace osu.Game.Overlays.BeatmapSet.Scores
|
||||
return;
|
||||
}
|
||||
|
||||
scoreTable.Scores = value.Scores;
|
||||
var scoreInfos = value.Scores.Select(s => s.CreateScoreInfo(rulesets)).ToList();
|
||||
|
||||
scoreTable.Scores = scoreInfos;
|
||||
scoreTable.Show();
|
||||
|
||||
var topScore = value.Scores.First();
|
||||
var topScore = scoreInfos.First();
|
||||
var userScore = value.UserScore;
|
||||
var userScoreInfo = userScore?.Score.CreateScoreInfo(rulesets);
|
||||
|
||||
topScoresContainer.Add(new DrawableTopScore(topScore));
|
||||
|
||||
if (userScore != null && userScore.Score.OnlineScoreID != topScore.OnlineScoreID)
|
||||
topScoresContainer.Add(new DrawableTopScore(userScore.Score, userScore.Position));
|
||||
if (userScoreInfo != null && userScoreInfo.OnlineScoreID != topScore.OnlineScoreID)
|
||||
topScoresContainer.Add(new DrawableTopScore(userScoreInfo, userScore.Position));
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -29,14 +29,6 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks
|
||||
ItemsContainer.Direction = FillDirection.Vertical;
|
||||
}
|
||||
|
||||
protected override void UpdateItems(List<APILegacyScoreInfo> items)
|
||||
{
|
||||
foreach (var item in items)
|
||||
item.Ruleset = Rulesets.GetRuleset(item.RulesetID);
|
||||
|
||||
base.UpdateItems(items);
|
||||
}
|
||||
|
||||
protected override APIRequest<List<APILegacyScoreInfo>> CreateRequest() =>
|
||||
new GetUserScoresRequest(User.Value.Id, type, VisiblePages++, ItemsPerPage);
|
||||
|
||||
@ -45,10 +37,10 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks
|
||||
switch (type)
|
||||
{
|
||||
default:
|
||||
return new DrawablePerformanceScore(model, includeWeight ? Math.Pow(0.95, ItemsContainer.Count) : (double?)null);
|
||||
return new DrawablePerformanceScore(model.CreateScoreInfo(Rulesets), includeWeight ? Math.Pow(0.95, ItemsContainer.Count) : (double?)null);
|
||||
|
||||
case ScoreType.Recent:
|
||||
return new DrawableTotalScore(model);
|
||||
return new DrawableTotalScore(model.CreateScoreInfo(Rulesets));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user