Dean Herbert
1da49073ab
Calculate content height automatically
2020-10-13 17:37:33 +09:00
Dean Herbert
c08b5e8d03
Align beatmap difficulties correctly
2020-10-13 17:37:33 +09:00
Dean Herbert
cfec4f4fc1
Extract header element from base DrawableCarouselItem class
2020-10-13 17:37:33 +09:00
Dean Herbert
20b54fb904
Move transform clean-up to pooling free call
2020-10-13 17:37:33 +09:00
Dean Herbert
f6aa448523
Store y positions inside items rather than in a separate array
2020-10-13 17:37:33 +09:00
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