1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-19 01:49:53 +08:00
Commit Graph

1 Commits

  • Separate gameplay leaderboard data management from display
    This is a prerequisite for supporting skinning of leaderboards.
    
    - New `IGameplayLeaderboardProvider` and `IGameplayLeaderboardScore`
      interfaces are introduced. They are strictly concerned with supplying
      leaderboard data.
    
    - Logic of managing display, which was previously jammed into the
      inheritance hierarchy of `GameplayLeaderboard`, is now moved into
      `IGameplayLeaderboardProvider` implementations. Solo play,
      multiplayer, and multiplayer spectator get their own implementation of
      the interface.
    
    - The inheritance hierarchy of `GameplayLeaderboard` and per-player
      overriding of the implementation of the gameplay leaderboard is gone.
      Only one drawable class (renamed to `DrawableGameplayLeaderboard`) is
      allowed to display the leaderboards, across all modes of play.