Add basic framework for carousel displays (aka BeatmapCarouselV2
)
#31471
+1,049
−39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PRing this early to get a sense of how people like the structure of
Carousel
, a new base class which attempts to separate display and model tracking concerns fromBeatmapCarousel
.The implementation should be "feature complete", as in allowing a full implementation of the beatmap carousel (unless I've missed anything, which I probably have) with the assumption that a lot of the extra logic will be added external to the base
Carousel
class.Rather than writing up a long PR description I'll opt to let the code speak for itself.
I've squashed most of my commits into logical steps I took as I gradually changed the direction of things to keep API surface as small as possible. You can check the full history here if that's helpful.
ScrollContainer
usage in line with framework changes #31474