1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-15 10:22:56 +08:00
Commit Graph

70 Commits

Author SHA1 Message Date
Salman Alshamrani
c587958f38 Apply depth ordering relative to selected item 2025-02-03 02:34:29 -05: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
Dean Herbert
a6057a9f54
Move absolute scroll support local to carousel and allow custom bindings 2025-01-16 20:47:59 +09:00
Dean Herbert
1c2621d88e
Add support to CarouselV2 for right mouse button scrolling 2025-01-16 20:27:38 +09:00
Dean Herbert
6027947657
Move animation handling to Carousel implementation to better handle add/removes
With the animation logic being external, it was going to make it very
hard to apply the scroll offset when a new panel is added or removed
before the current selection.

There's no real reason for the animations to be local to beatmap
carousel. If there's a usage in the future where the animation is to
change, we can add more customisation to `Carousel` itself.
2025-01-15 17:01:07 +09:00
Dean Herbert
0b764e6372
Fix substring of GetHashCode potentially failing 2025-01-15 16:18:34 +09:00
Dean Herbert
e871f02350
Fix inspections that don't show in rider 2025-01-14 20:43:03 +09:00
Dean Herbert
900237c1ed
Add loading overlay and refine filter flow 2025-01-14 20:23:53 +09:00
Dean Herbert
cc8941a94a
Add animation and depth control 2025-01-14 20:12:09 +09:00
Dean Herbert
7e8a80a0e5
Add difficulty, artist and title sort examples
Also:

- Adds hinting at grouping and header status of items
- Passes through criteria and prepare for grouping tests.
- Makes `Filters` list `protected` because naming clash with `Filter()`
  on `BeatmapCarousel`.
2025-01-14 19:52:48 +09:00
Dean Herbert
d97a3270a5
Split out BeatmapCarousel classes and drop V2 suffix 2025-01-14 19:18:02 +09:00
Dean Herbert
cf55fe16ab
Generic type instead of raw object? 2025-01-11 01:43:47 +09:00
Dean Herbert
6fbab1bbce
Stop exposing CarouselItem externally 2025-01-11 01:43:47 +09:00
Dean Herbert
ad04681b28
Add scroll position maintaining 2025-01-11 01:43:47 +09:00
Dean Herbert
288be46b17
Add basic selection support 2025-01-11 01:43:47 +09:00
Dean Herbert
5e9a7532d3
Add basic implementation of new beatmap carousel 2025-01-11 01:43:47 +09:00
Dean Herbert
862b41c38e
Move BeatmapInfoWedgeV2 to correct namespace 2024-12-12 12:53:05 +09:00
Bartłomiej Dach
6a1893ff3f
Add context menu option to copy link to an online score
I feel like this may become useful soon enough to help diagnose weird
issues.
2024-11-04 13:59:48 +01:00
Joseph Madamba
11bd0c9a61 Inline single-frame layout issue comment instead 2024-08-14 00:41:43 -07:00
Joseph Madamba
c24f1444f9 Directly resolve IBindable<WorkingBeatmap> by making a local variant of DifficultyNameContent 2024-08-13 23:26:18 -07:00
Joseph Madamba
2b41f71fd0 Workaround single-frame layout issues with {Link|Text|Fill}FlowContainers 2024-08-13 23:26:17 -07:00
Joseph Madamba
625c6fc7eb Implement song select v2 difficulty name content component 2024-08-13 23:26:17 -07:00
Dean Herbert
dab967e6be
Fix insane transform allocations in new leaderboard display 2024-08-01 18:36:33 +09:00
Bartłomiej Dach
54c904d439
Convert into auto-property 2024-07-29 10:40:29 +02:00
Joseph Madamba
f6eb9037df Add ability to copy leaderboard mods in daily challenge 2024-07-27 23:55:56 -07:00
Dean Herbert
9a88281ab0
Merge branch 'master' into footer-v2-integration 2024-07-10 15:33:05 +09:00
Dean Herbert
4fe3f39d22
Merge pull request #28682 from frenzibyte/footer-v2-overlay-content
Add implementation for `ScreenFooter` to house footer content of sheared overlays
2024-07-10 15:08:00 +09:00
Bartłomiej Dach
5fa586848d
Replace old bad daily challenge leaderboard with new implementation
- Actually shows scores rather than playlist aggregates (which are
  useful... in playlists, where there is more than one item)
- Actually allows scores to be shown by clicking on them
- Doesn't completely break down visually on smaller window sizes

The general appearance is not as polished as the old one in details but
I wanted something quick that we can get out by next weekend.

Also includes the naive method of refetching scores once a new top 50
score is detected. I can add a stagger if required.
2024-07-04 13:52:08 +02:00
Salman Ahmed
58c7d1e772 Bind game-wide mods bindable to mod select overlay in new song select screen 2024-06-30 06:50:36 +03:00