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}FlowContainer
s
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
Salman Ahmed
467d7c4f54
Refactor game-wide layout order of footer to fix depth issues with overlays and improve UX
...
With this new order, the logo can be easily moved to display in front of the footer in `SongSelectV2` without breaking experience when footer-based overlays are present. Such overlays (i.e. mod select overlay) will also be dimmed alongside the current screen when a game-wide overlay is open (e.g. settings).
2024-06-30 06:50:36 +03:00