mirror of
https://github.com/ppy/osu.git
synced 2026-05-21 00:20:25 +08:00
dfed564bda
This is probably where things get a little controversial. There are some song select flows wherein song select just wants to ensure sanity by authoritatively setting the global beatmap. The goal is to change the beatmap immediately and instantly. Therefore it should kind of be the carousel's job to figure out its grouping complications. To that end, `CurrentSelection` is made virtual, and overridden in `BeatmapCarousel` to perform a sort of reconciliation logic. If an external component sets `CurrentSelection` to a `BeatmapInfo`, one of the two following things happen: - Nothing, if the current `GroupedBeatmap` is already a copy of the beatmap that needs to be selected, or - The carousel looks at its items, finds any first copy which matches the beatmap that the external consumer wanted selected, and changes selection to that instead.
dfed564bda
·
2025-08-29 13:25:08 +02:00
History