mirror of
https://github.com/ppy/osu.git
synced 2025-02-22 05:13:21 +08:00
Merge pull request #29054 from peppy/fix-leaderboard-refreshing
Fix excessive leaderboard refreshes in daily challenge screen
This commit is contained in:
commit
ccef98d24e
@ -349,7 +349,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
feed.AddNewScore(ev);
|
||||
|
||||
if (e.NewRank <= 50)
|
||||
Schedule(() => leaderboard.RefetchScores());
|
||||
Scheduler.AddOnce(() => leaderboard.RefetchScores());
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -486,7 +486,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
sampleStart?.Play();
|
||||
this.Push(new PlayerLoader(() => new PlaylistsPlayer(room, playlistItem)
|
||||
{
|
||||
Exited = () => leaderboard.RefetchScores()
|
||||
Exited = () => Scheduler.AddOnce(() => leaderboard.RefetchScores())
|
||||
}));
|
||||
}
|
||||
|
||||
|
@ -118,9 +118,14 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
RefetchScores();
|
||||
}
|
||||
|
||||
private IndexPlaylistScoresRequest? request;
|
||||
|
||||
public void RefetchScores()
|
||||
{
|
||||
var request = new IndexPlaylistScoresRequest(room.RoomID.Value!.Value, playlistItem.ID);
|
||||
if (request?.CompletionState == APIRequestCompletionState.Waiting)
|
||||
return;
|
||||
|
||||
request = new IndexPlaylistScoresRequest(room.RoomID.Value!.Value, playlistItem.ID);
|
||||
|
||||
request.Success += req => Schedule(() =>
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user