Dean Herbert
b92c22ad42
Add logging
2020-10-13 17:37:33 +09:00
Dean Herbert
9814e9ba7f
Split classes out to reduce loc burder on DrawableCarouselBeatmapSet
2020-10-13 17:37:33 +09:00
Dean Herbert
975cd5a840
Add back beatmap difficulty appear/disappear movement
2020-10-13 17:37:33 +09:00
Dean Herbert
fd8654cff3
Add back difficulty panel spacing
2020-10-13 17:37:33 +09:00
Dean Herbert
82f9ca3de9
Bind to filter event changes in base drawable item
2020-10-13 17:37:33 +09:00
Dean Herbert
813ee19728
Use existing event flow for rendering beatmap difficulties
2020-10-13 17:37:33 +09:00
Dean Herbert
bb03c5d77c
Temporarily disable masking temporarily to fix panels disappearing at extents
2020-10-13 17:37:33 +09:00
Dean Herbert
524419d5e4
Fix filtered items being considered for height calculation
2020-10-13 17:37:33 +09:00
Dean Herbert
0a144a1388
Correctly free panels after use to avoid finalizer disposal of subtree
2020-10-13 17:37:33 +09:00
Dean Herbert
5c29aa8cce
Fix multiple difficulties being expanded at once
2020-10-13 17:37:33 +09:00
Dean Herbert
5c2f134665
Add back left offset for selected set
2020-10-13 17:37:33 +09:00
Dean Herbert
3cfc0dc82d
Add safeties to beatmap panel loading code
2020-10-13 17:37:33 +09:00
Dean Herbert
954d43ef56
Debounce state application events
2020-10-13 17:37:33 +09:00
Dean Herbert
0400b34349
Load more components asynchronously after pool resolution
2020-10-13 17:37:33 +09:00
Dean Herbert
f3b24b9bb5
Avoid performing eager selection constantly on adding ranges of new children
2020-10-13 17:37:33 +09:00
Dean Herbert
0a978c6131
Add basic pooling setup
2020-10-13 17:37:33 +09:00
Dean Herbert
3143224e5b
Refactor how drawable carousel items are constructed
2020-10-13 17:37:33 +09:00
Dean Herbert
9193f5b0ba
Expose panel height from non-drawable models
2020-10-13 17:37:33 +09:00
Dean Herbert
a393bbe8f7
Remove direct drawable storage from carousel models
2020-10-13 17:37:33 +09:00
Dean Herbert
73c238fae3
Add the ability to search for local beatmaps via online IDs
...
Closes #10470 .
2020-10-10 21:34:11 +09:00
smoogipoo
43525614ad
Store raw BeatmapCollection in filter control
2020-09-09 23:10:21 +09:00
smoogipoo
0360f7d845
Move CollectionManager to OsuGame
2020-09-09 15:39:15 +09:00
smoogipoo
4ddf5f054b
Rename BeatmapCollectionManager -> CollectionManager
2020-09-09 15:31:08 +09:00
smoogipoo
a5e1e8d043
Rename More... to Manage...
2020-09-08 18:57:18 +09:00
smoogipoo
ae022d7559
Show all items in dropdown, set global max height
2020-09-08 18:55:53 +09:00
Dean Herbert
8b770626fa
Add missing '...' from some popup menu items
2020-09-08 12:18:08 +09:00
Dean Herbert
b15bbc882a
Move items up in menu
2020-09-08 12:04:35 +09:00
Dean Herbert
3e5ea6c42f
Change "Add to" to "Collections"
...
Doesn't make send to be 'add to' when it can also remove
2020-09-08 12:00:00 +09:00
smoogipoo
98e9c4dc25
General refactorings
2020-09-07 21:08:48 +09:00
smoogipoo
4b4dd02942
Make collection name a bindable
2020-09-05 04:43:59 +09:00
smoogipoo
345fb9d8e0
Rename classes
2020-09-05 03:55:43 +09:00
smoogipoo
ebd11ae0b7
Add a collection management dialog
2020-09-05 03:52:07 +09:00
smoogipoo
d363a5d164
Add basic ordering
2020-09-02 21:19:15 +09:00
smoogipoo
094ddecc95
Add dropdowns to carousel items
2020-09-02 21:08:31 +09:00
smoogipoo
9dde37fe40
Hook up collection filter
2020-09-02 20:25:42 +09:00
smoogipoo
b10b99a670
Change method signatures to remove tracked/untracked
2020-07-24 13:52:43 +09:00
smoogipoo
76284a0f01
Move cancellation out of condition
2020-07-23 23:18:51 +09:00
smoogipoo
107b5ca4f2
Add support for bindable retrieval
2020-07-21 23:13:04 +09:00
smoogipoo
9a52058a7a
Update carousel beatmap SR on mod/ruleset changes
2020-07-16 21:08:24 +09:00
Dean Herbert
f989f1aa00
Change event flow to avoid firing store delete events on update
2020-05-27 16:08:47 +09:00
Dean Herbert
052ad79fc6
Convert dangerous events to IBindables
2020-05-19 16:44:22 +09:00
smoogipoo
401c516503
Expose searchable terms from beatmap info instead
2020-05-07 13:04:08 +09:00
smoogipoo
5186da8412
Fix potential song select nullref
2020-05-07 11:37:04 +09:00
Dean Herbert
03a74a4320
Apply same conditional check changes to DrawableCarouselBeatmapSet
2020-04-16 12:13:26 +09:00
Dean Herbert
c4caf38feb
Simplify menu item checks (and add for other items)
2020-04-16 12:10:20 +09:00
Joehu
e2b28bfe88
Hide edit context menu item in multiplayer song select
2020-04-15 18:17:12 -07:00
Dean Herbert
abea7b5299
Tidy up function passing, naming, ordering etc.
2020-04-11 17:13:35 +09:00
Endrik Tombak
deaf24f141
Fix oversight on null
2020-04-09 19:30:40 +03:00
Endrik Tombak
35f97dfc75
Style changes
2020-04-09 18:59:18 +03:00
Endrik Tombak
f40bdcd34e
Initial rewrite, moving API logic to SongSelect
2020-04-09 18:47:28 +03:00
Dean Herbert
260de77304
Merge branch 'master' into select-recommended
2020-04-09 15:30:35 +09:00
smoogipoo
ed3e0a01e1
Re-namespace into song select
2020-04-07 15:31:22 +09:00
Santeri Nogelainen
1e8badb14a
Move all logic to TopLocalRank and remove CarouselBeatmapRank
2020-04-04 22:28:36 +03:00
Santeri Nogelainen
faa2b49be4
Fix namespace for CarouselBeatmapRank, make UpdateableRank in TopLocalRank readonly
2020-03-28 18:13:39 +02:00
Santeri Nogelainen
1c711147f3
Move all carousel rank logic into separate classes (TopLocalRank and CarouselBeatmapRank)
2020-03-28 17:22:01 +02:00
Endrik Tombak
ee112c6f50
Move and change logic
2020-03-26 18:42:08 +02:00
Endrik Tombak
2f5dc93d61
Select recommended difficulty
2020-03-26 00:19:54 +02:00
Dean Herbert
8f9e97b4cc
Fix carousel not remembering last selection correctly
2020-03-19 18:07:39 +09:00
Dean Herbert
9bb3a6c677
Merge branch 'master' into click-group-difficulty-icons
2020-03-16 12:01:09 +09:00
Dean Herbert
d6be8eec0c
Merge branch 'master' into click-disabled-difficulty-icons
2020-03-16 11:30:57 +09:00
Dean Herbert
3f8b454ff4
Reword comment to match new filtering behaviour
...
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-13 10:01:28 +09:00
Dean Herbert
6e11c3014c
Allow grouped difficulty icons to be clicked
2020-03-12 18:42:08 +09:00
Dean Herbert
ce5d01ed19
Allow filtered difficulty icons to be clicked
2020-03-12 18:42:08 +09:00
Dean Herbert
fc058f8896
Remove unnecessary this. prefix
2020-03-12 18:03:18 +09:00
Dean Herbert
933a8ffc8a
Add test coverage
2020-03-12 17:10:51 +09:00
Dean Herbert
63edcddaf1
Apply ruleset filter in all cases (even when bypassing filter for selection purposes)
2020-03-12 15:06:26 +09:00
Dan Balasescu
9119e32f63
Merge branch 'master' into better-filter-bypass
2020-03-11 13:37:55 +09:00
Dean Herbert
ed837d3115
Use framework extension method for FromHex
2020-03-11 10:18:41 +09:00
Dean Herbert
a2d3f20409
Merge branch 'master' into better-filter-bypass
2020-03-11 02:55:14 +09:00
Dean Herbert
979988235d
Increase flexibility of StarCounter component
2020-03-08 15:56:22 +09:00
Dean Herbert
332f56a7f8
Fix nullref in tests
2020-03-05 20:34:24 +09:00
Dean Herbert
f8776a0be4
Display all difficulties from overriding selection
2020-03-04 22:59:49 +09:00
Dean Herbert
a62550b323
Reapply filters on next change after a forced beatmap display
2020-03-04 20:14:18 +09:00
smoogipoo
7ad6ad0bb0
Remove hacks that bypassed layout shortcomings
2020-02-27 13:32:23 +09:00
Dean Herbert
cd666166d5
Merge pull request #7809 from voidedWarranties/proposal-difficulty-icon-select
...
Allow selecting/playing a specific difficulty using the beatmapset difficulty icons
2020-02-21 10:24:12 +09:00
voidedWarranties
8c81f1e684
Move CarouselBeatmap access to private, test using indices
2020-02-15 17:51:55 -08:00
voidedWarranties
8e1ecddb1d
Add testing
2020-02-14 17:23:24 -08:00
recapitalverb
c46d828716
Preserve permitNulls
2020-02-14 20:59:51 +07:00
recapitalverb
10798aeab3
Fix code formatting
2020-02-14 20:30:27 +07:00
recapitalverb
c753cb46c5
Use [Resolved] wherever possible
2020-02-14 20:14:00 +07:00
voidedWarranties
368e6f9579
Use CarouselBeatmap.State to select
2020-02-13 17:47:16 -08:00
voidedWarranties
c871f07d2e
Use CarouselBeatmap action to select beatmap
2020-02-13 17:14:46 -08:00
voidedWarranties
ad0de27964
Safer dependency injection and accessibility levels
2020-02-12 22:11:26 -08:00
voidedWarranties
f8b69fe632
Remove unnecessary carousel variable, fix code formatting
2020-02-12 20:11:39 -08:00
voidedWarranties
b126c00292
Use dependency loader to get SongSelect instance
2020-02-12 19:05:08 -08:00
voidedWarranties
2901ec9f26
Select specific difficulties using their icons
2020-02-11 20:05:26 -08:00
Dean Herbert
66fb72cd8a
Fix song select not showing active beatmap if it is filtered by local criteria
2020-02-10 16:59:54 +09:00
smoogipoo
9e0e7be8d0
Modernise filter implementation
2020-01-24 18:57:17 +09:00
smoogipoo
12cc97ca31
Merge remote-tracking branch 'origin/master' into star-filtering
...
# Conflicts:
# osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapCarousel.cs
# osu.Game/Screens/Select/Carousel/CarouselBeatmap.cs
# osu.Game/Screens/Select/FilterControl.cs
# osu.Game/Screens/Select/FilterCriteria.cs
2020-01-24 18:30:52 +09:00
smoogipoo
91735ff367
Update MathUtils namespace usages
2020-01-09 13:43:44 +09:00
Huo Yaoyuan
caf3f774ba
CA1309: compare strings correctly.
2019-12-17 13:00:15 +08:00
Dean Herbert
48287459a0
Optimise filters to avoid property retrieval
...
Also reduces number of instantiations of SearchableTerms array in the case of multiple criteria terms.
2019-12-05 01:52:22 +09:00
Huo Yaoyuan
ccc8aa6fa4
Apply brace style.
2019-11-11 20:13:13 +08:00
Bartłomiej Dach
c181edaedf
Replace manual comparer implementation
...
Replace manually-implemented CriteriaComparer with a call to
Comparer<T>.Create() to decrease verbosity.
2019-10-28 15:07:36 +01:00
Bartłomiej Dach
c8d3dd0e5a
Make carousel item sorting stable
...
Migrate beatmap carousel item sorting from List<T>.Sort()
to IEnumerable<T>.OrderBy(), as the second variant is documented to be
a stable sorting algorithm. This allows for eliminating unnecessary
movement of carousel items occurring whenever any set of items is tied
when changing sorting criteria.
2019-10-27 23:14:14 +01:00
Dean Herbert
f15953d65c
Fix carousel including filtered difficulties in sort comparisons
2019-10-07 15:17:03 +09:00
Bartłomiej Dach
b262ba13cd
Add creator= and artist= filters
...
To match stable, add creator= and artist= filters to the beatmap
carousel on song select screen. Contrary to stable, this implementation
supports phrase queries with spaces within using double quotes.
The quote handling is not entirely correct (can't nest), but quotes
should rarely happen within names, and it is an edge case of an edge
case - leaving best-effort as is. Test coverage also included.
2019-09-22 00:20:55 +02:00
smoogipoo
7683f7ff23
Make OnlineStatus use OptionalRange
2019-09-19 17:12:07 +09:00
smoogipoo
0915a94470
Make BeatDivisor use OptionalRange
2019-09-19 16:53:27 +09:00
Dean Herbert
92556db9cd
Add query-based filter modes to song select search field
2019-09-19 02:48:28 +09:00