1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-13 03:17:20 +08:00

97 Commits

Author SHA1 Message Date
Salman Alshamrani
78cd093a47 Fix broken input handling with structural changes 2025-02-06 02:44:40 -05:00
Salman Alshamrani
134e62c39a Abstractify beatmap panel piece and update all panel implementations 2025-02-06 02:21:34 -05:00
Salman Alshamrani
ecc3aeadf2 Make BeatmapPanel appear hovered on keyboard selection even if selected
Was an intentional choice but appeared weird to others instead. The feedback itself probably needs changing.
2025-02-05 22:40:30 -05:00
Salman Alshamrani
aab4a79ce4 Push all beatmap panels to hide their tails 2025-02-05 22:37:03 -05:00
Salman Alshamrani
72a62b70c4 Simplify some code 2025-02-05 22:25:39 -05:00
Salman Alshamrani
467ea91105 Fix basic code quality issues 2025-02-05 21:47:15 -05:00
Salman Alshamrani
f9962f95f0 Implement group panel design 2025-02-05 21:45:34 -05:00
Salman Alshamrani
c94d11b7fe Add beatmap carousel to new song select screen 2025-02-05 08:16:41 -05:00
Salman Alshamrani
696366f8cb Implement beatmap "standalone" panel design 2025-02-05 08:16:41 -05:00
Salman Alshamrani
04d8bafdce Implement beatmap difficulty panel design 2025-02-05 08:16:41 -05:00
Salman Alshamrani
206b5c93c0 Implement beatmap set header design 2025-02-05 08:16:41 -05:00
Salman Alshamrani
2d75030e36 Change default carousel item header to 50px 2025-02-05 07:17:27 -05:00
Salman Alshamrani
c389dbc711 Extend panel input area to cover gaps 2025-02-05 05:20:26 -05:00
Salman Alshamrani
fc5832ce67 Support variable spacing between carousel items 2025-02-05 05:20:26 -05:00
Dean Herbert
599b59cb14
Add expanded state to sample drawable representations 2025-02-04 18:06:16 +09:00
Dean Herbert
58560f8acf
Add tracking of expansion states for groups and sets 2025-02-04 17:51:51 +09:00
Bartłomiej Dach
6e59cab928
Merge pull request #31764 from peppy/beatmap-carousel-v2-grouping
Add group support to beatmap carousel v2
2025-02-04 08:13:54 +01:00
Dean Herbert
e454fa558c
Adjust group traversal logic to handle cases where keyboard selection redirects 2025-02-04 02:55:59 +09:00
Dean Herbert
b433eef138
Remove redundant conditional check 2025-02-04 02:41:39 +09:00
Dean Herbert
c7780c9fdc
Refactor how grouping is performed 2025-02-03 20:40:52 +09:00
Salman Alshamrani
c587958f38 Apply depth ordering relative to selected item 2025-02-03 02:34:29 -05:00
Dean Herbert
6a18d18feb
Fix null handling when no items are populated but a selection is made 2025-02-03 02:39:45 +09:00
Dean Herbert
9c34819ff4
Add test coverage for grouped selection 2025-02-03 02:39:45 +09:00
Dean Herbert
645c26ca19
Simplify keyboard traversal logic 2025-02-03 02:24:27 +09:00
Dean Herbert
d74939e6e9
Fix backwards traversal of groupings and allow toggling groups without updating selection 2025-02-03 02:24:27 +09:00
Dean Herbert
764f799dcb
Improve selection flow using early exit and invalidation 2025-02-03 02:24:27 +09:00
Dean Herbert
d5dc55149d
Add initial difficulty grouping support 2025-02-03 02:24:27 +09:00
Dean Herbert
3cde11ab77
Re-enable masking by default 2025-02-03 02:24:26 +09:00
Bartłomiej Dach
55ab3c72f6
Remove unused field 2025-01-24 15:15:50 +01:00
Dean Herbert
82c5f37c2c
Remove selection animation on set panel 2025-01-24 22:45:08 +09:00
Dean Herbert
175eb82ccf
Split out beatmaps and set panels into two separate classes 2025-01-24 20:10:41 +09:00
Dean Herbert
0164a2e4dc
Move pool item preparation / cleanup duties to Carousel 2025-01-24 20:10:41 +09:00
Dean Herbert
9366bfbf0d
Move activation drawable flow portion to ICarouselPanel 2025-01-24 18:40:48 +09:00
Dean Herbert
92429b2ed9
Adjust comments on ICarouselPanel to imply external use 2025-01-24 18:34:04 +09:00
Dean Herbert
f4270ab3b9
Simplify selection handling logic 2025-01-23 23:58:51 +09:00
Dean Herbert
d5369d3508
Add regions to BeatmapCarousel 2025-01-23 23:53:09 +09:00
Dean Herbert
0716b73d2a
ActivateSelection -> TryActivateSelection 2025-01-23 22:44:39 +09:00
Dean Herbert
2feab31426
Adjust inline commentary based on review feedback 2025-01-23 22:41:20 +09:00
Dean Herbert
ffca90779f
Fix sort direction being flipped 2025-01-23 18:51:24 +09:00
Dean Herbert
2f94456a06
Add selection and activation flow 2025-01-23 18:51:24 +09:00
Dean Herbert
ecef5e5d71
Add set-difficulty tracking in BeatmapCarouselFilterGrouping
Rather than tracking inside individual items, let's just maintain a
single dictionary which is refreshed every time we regenerate filters.
2025-01-23 18:48:44 +09:00
Dean Herbert
980f6cf18e
Make CarouselItem sealed and remove BeatmapCarouselItem concept
Less abstraction is better. As far as I can tell, we don't need a custom
model for this. If there's any tracking to be done, it should be done
within `BeatmapCarousel`'s implementation (or a filter).
2025-01-23 18:48:44 +09:00
Dean Herbert
c67c0a7fc0
Move Selected status to drawables
Basically, I don't want bindables in `CarouselItem`. It means there
needs to be a bind-unbind process on pooling. By moving these to the
drawable and just updating every frame, we can simplify things a lot.
2025-01-23 18:48:43 +09:00
Dean Herbert
ded1d9f019
displayedCarouselItems -> carouselItems 2025-01-23 15:58:35 +09:00
Dean Herbert
d526835627
Only show loading when doing a user triggered filter 2025-01-23 15:51:54 +09:00
Dean Herbert
6ac2dbc818
Reorder carousel methods into logical regions 2025-01-23 15:50:57 +09:00
Dean Herbert
6c27e87714
Add back explicit right click handling of carousel absolute scrolling 2025-01-21 17:24:42 +09:00
Dean Herbert
43b54623d9
Add required padding on either side of panels so selection can remain centered 2025-01-17 18:08:20 +09:00
Dean Herbert
54f9cb7f68
Add overlapping spacing support 2025-01-17 18:07:54 +09:00
Dean Herbert
a1c5fad6d4
Add curvature to new carousel implementation 2025-01-17 18:07:54 +09:00