-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Split quickplay beatmap & "random" panel into separate classes (V2) #35701
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split quickplay beatmap & "random" panel into separate classes (V2) #35701
Conversation
a1668d1 to
7d7ff4b
Compare
osu.Game/Screens/OnlinePlay/Matchmaking/Match/BeatmapSelect/MatchmakingSelectPanelBeatmap.cs
Outdated
Show resolved
Hide resolved
osu.Game/Screens/OnlinePlay/Matchmaking/Match/BeatmapSelect/SubScreenBeatmapSelect.cs
Outdated
Show resolved
Hide resolved
osu.Game/Screens/OnlinePlay/Matchmaking/Match/BeatmapSelect/BeatmapSelectGrid.cs
Show resolved
Hide resolved
smoogipoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems probably okay. I'm starting to feel a little concerned about loading every beatmap before displaying anything, but perhaps we'll cross that point when we get to it by querying every beatmap in the background on room join or something.
I've done some simple merge conflict resolution expecting the followup PR to remove it or move it elsewhere appropriate.
Supersedes #35695
Prerequisite for #35704
Attempt number two... I tried to keep the changeset as small as possible this time, managed to cut it down to a third the original size.
The PR attempts to split the
BeatmapSelectPanelclass into two subclasses based on panel type, to make it easier to implement custom animations/designs for each panel type in follow-up work (see #35704).The PR also moves the responsibility for fetching the
APIBeatmaps into the matchmaking subscreen, which loads them in bulk and then hands everything to theBeatmapSelectGridall at once. Came up on discord, and it made passing the data to the panels a lot easier.