1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 07:53:38 +08:00
Commit Graph

444 Commits

Author SHA1 Message Date
Dean Herbert
1b7e3397c6 Use expiry to avoid ToArray 2020-10-13 17:37:33 +09:00
Dean Herbert
075bf23714 Better track off-screen drawables (and return to pool less often) 2020-10-13 17:37:33 +09:00
Dean Herbert
29983afcef Replace pool/cleanup logic with simplest form possible
This will temporarily break panels that go off-screen, as they will
disappear immediately
2020-10-13 17:37:33 +09:00
Dean Herbert
06e84c8eb3 Add comments and split out update steps into a more logical flow 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
fd8654cff3 Add back difficulty panel spacing 2020-10-13 17:37:33 +09:00
Dean Herbert
ce67f65084 Fix single results not showing up 2020-10-13 17:37:33 +09:00
Dean Herbert
220c8ba2c4 Fix incorrect vertical offsets when difficulties are filtered away 2020-10-13 17:37:33 +09:00
Dean Herbert
8847cedf29 Add initial pass of vertical transforms 2020-10-13 17:37:33 +09:00
Dean Herbert
15325f5f51 Base bounds checks on +1 (to avoid worrying about current item heights) 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
c5a6f4b453 Fix scroll to selected beatmap 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
ca1f5dcada Add back panel padding 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
f17d661c1a Add basic range-based invalidation 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
0718e9e4b6 Update outdated comment 2020-07-13 13:08:41 +09:00
Dean Herbert
ab11a112b7 Fix correct filter criteria not being applied to beatmap carousel if beatmaps take too long to load 2020-07-12 22:33:41 +09:00
smoogipoo
099416b4c3 Move check inside next difficulty selection 2020-06-26 21:03:34 +09:00
smoogipoo
8f6d52550f Fix potential exception if button is pressed before selection 2020-06-26 20:32:13 +09:00
smoogipoo
1b4c31a84f Remove double schedule 2020-06-26 20:14:08 +09:00
smoogipoo
e3d654d33f Cleanup 2020-06-26 20:14:02 +09:00
Dean Herbert
d704a4597d Use existing helper function for key repeat 2020-06-25 21:33:02 +09:00
Dean Herbert
d7742766d0 Add key/press repeat support to carousel 2020-06-25 19:47:23 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +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
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
Dean Herbert
119000f1ab Reduce database includes where possible 2020-04-28 21:43:35 +09:00
smoogipoo
fcfb2b9026 Merge branch 'master' into fix-select-new-from-sub-screen 2020-04-21 14:36:53 +09:00
Bartłomiej Dach
e3cd3cf1da Convert to auto-properties 2020-04-20 21:43:07 +02:00
Bartłomiej Dach
9b6e26583b Add xmldocs 2020-04-20 21:42:43 +02:00
Endrik Tombak
b57d709d15 Don't use Parent 2020-04-19 18:29:06 +03:00
Endrik Tombak
a8bfd21f3f Merge branch 'master' of https://github.com/ppy/osu into scroll-to-center 2020-04-19 18:21:34 +03:00
Dean Herbert
d62094cd4b Fix carousel not correctly updating when selection changes to a new beatmap from a child screen 2020-04-16 18:10:35 +09:00
Endrik Tombak
b475316a4e Simplify and comment 2020-04-12 20:40:08 +03:00
Endrik Tombak
63a1686dfb Scroll to screen middle 2020-04-12 12:42:52 +03:00
Dean Herbert
73a3f1fe65 Remove unnecessary DI 2020-04-11 17:30:34 +09:00
Dean Herbert
abea7b5299 Tidy up function passing, naming, ordering etc. 2020-04-11 17:13:35 +09:00
Dean Herbert
7f753f6b4d Remove current ruleset from function call 2020-04-11 16:43:09 +09:00
Dean Herbert
a843793957 Un-nest class 2020-04-11 16:41:11 +09: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
Dean Herbert
b47a532df3 Adjust code formatting slightly 2020-03-30 00:07:48 +09:00
Endrik Tombak
b4f0500706 Invert logic 2020-03-28 20:21:21 +02:00
Endrik
2c27894527
Use All instead of ToList Any
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-28 19:58:33 +02:00
Endrik Tombak
87854fc4fa Rename variable 2020-03-28 13:23:31 +02:00
Endrik Tombak
6a0c5c87aa Use already existing variable 2020-03-28 13:06:03 +02:00
Endrik Tombak
fc3f9ff6fa Don't use drawables for select next 2020-03-28 12:54:48 +02:00
Endrik Tombak
bbbaaae3ee Write tests 2020-03-26 19:18:16 +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
Dan Balasescu
d0c7b49376
Merge branch 'master' into fix-carousel-root-selects-from-nothing 2020-03-23 11:34:04 +09:00
Dean Herbert
29009c85c0
Fix typo in comment
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-22 00:32:53 +09:00
Dean Herbert
9b60b535e5 Fix selection not occurring when switching from empty ruleset on first load 2020-03-20 15:01:26 +09:00
Dean Herbert
be4a97c289 Correctly bypass last selected when it is filtered 2020-03-20 13:01:24 +09:00
Dan Balasescu
3e65f13c67
Merge branch 'master' into fix-carousel-scroll-while-import 2020-03-16 12:06:50 +09:00
Dan Balasescu
bd05462a7f
Merge branch 'master' into carousel-selection-fallback-improvement 2020-03-16 10:53:10 +09:00
Dean Herbert
340d362d69 Appease inspectcode 2020-03-15 03:51:30 +09:00
Dean Herbert
ac70fcc544 Change logic to be more resilient by identifying user scroll events 2020-03-13 12:30:27 +09:00
Dean Herbert
5f8d180b5e Fix carousel scrolling being inoperable during beatmap import 2020-03-13 11:51:26 +09:00
Dean Herbert
04f1da04db Remove incorrect xmldoc from SelectBeatmap function 2020-03-13 10:52:08 +09:00
Dean Herbert
ca9cfbe51d Move selection fallback logic out of BeatmapCarousel to SongSelect 2020-03-12 18:42:08 +09:00
Dean Herbert
28ac5af91c Fix beatmap carousel tests loading beatmap manager beatmaps in test browser 2020-03-12 16:53:23 +09:00
Dean Herbert
8294dd0b71 Fix changing ruleset at song selectnot scrolling the current selection back into view 2020-03-10 19:59:49 +09:00
Dean Herbert
489bf16bea Add SelectNext and SelectPrevious global actions 2020-03-02 18:55:28 +09:00
Dean Herbert
8186f72507 Remove unused using 2020-02-10 17:12:45 +09: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
Dean Herbert
77c06b1c6e Fix beatmap carousel potentially missing beatmap imports 2020-01-29 17:09:12 +09:00
Dean Herbert
7aa5e8c23e Limit input propagation correctly 2020-01-27 14:55:47 +09:00
Dean Herbert
1c64b70b06 Revert "Fix crash due to misordered selection events"
This reverts commit 2d74609f50.
2020-01-27 14:53:24 +09:00
Dean Herbert
2d74609f50 Fix crash due to misordered selection events 2020-01-26 19:06:50 +09:00
Dean Herbert
e88e40eec4 Expand on comment 2020-01-15 15:11:36 +09:00
Joehu
b42b23d65b Add comment for alt pressed
Taken from OsuScrollContainer
2020-01-14 20:52:15 -08:00
Joehu
2060be345d Move alt pressed condition to top of method 2020-01-14 20:44:55 -08:00
Joehu
c196e83e75 Allow changing volume in song select with arrow keys when pressing alt 2020-01-13 20:48:39 -08:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Huo Yaoyuan
ab70abe8bd Turn off unexpected new warnings. 2019-12-15 20:07:56 +08:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Berkan Diler
fccdbffa93 Use MathF instead of Math- functions when possible
MathF-functions are faster than the Math-counterpart and it looks cleaner, so use MathF when we cast to float or int anyway.
2019-11-25 00:45:42 +01:00
Dean Herbert
d8260f4a65 Reduce carousel scroll motion on initial display 2019-11-22 10:51:49 +09:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Dan Balasescu
a7c074ff37
Merge branch 'master' into math_clamp 2019-11-21 11:08:56 +09:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
Dean Herbert
3ba9f840fd Fix song select not always scrolling to the correct location 2019-11-20 19:39:13 +09:00
Huo Yaoyuan
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
Huo Yaoyuan
b04bca7db6 Reference elements in origin definition. 2019-11-17 20:55:40 +08:00
Huo Yaoyuan
d60493a961 Use discards. 2019-11-12 20:03:21 +08:00
Dean Herbert
4a59e3351e Update beatmap carousel tests code style
Also fixes one issue I spotted in BeatmapCarousel related to incorrectly holding a selection after new sets are loaded.
2019-09-25 02:42:12 +09:00
Dean Herbert
b57298406f Fix right click blocking not resetting correctly 2019-08-15 19:25:33 +09:00
Dean Herbert
0f4bada21e Fix right click absolute scrolling interfering with context menus 2019-08-15 18:27:45 +09:00
Dean Herbert
e73a9c2748 Fix song select context menus displaying off-screen 2019-08-15 14:06:29 +09:00
Dean Herbert
90b1fe81f3 Update cached usage in line with framework changes 2019-08-09 19:12:29 +09:00
Dean Herbert
3571cb96b0 Fix broken merge 2019-07-27 12:56:55 +09:00
David Zhao
57e6c388a1
Merge branch 'master' into carousel-sizing 2019-07-27 11:40:07 +09:00
David Zhao
0f6c6c7de0 consolidate halfheight as well 2019-07-26 15:22:29 +09:00
David Zhao
6765e9f7fa Combine into properties and update for framework changes 2019-07-26 15:13:10 +09:00
David Zhao
c89830f3d8 move constants, combine local vars into properties 2019-07-26 13:07:28 +09:00
David Zhao
a9f0dda9d7 Confine positional input 2019-07-25 17:36:13 +09:00
David Zhao
97eb5293a8 Don't depend on parent sizing 2019-07-25 17:32:21 +09:00
David Zhao
c4bed0e6d2 Resize BeatmapCarousel, update carouselitem logic 2019-07-25 15:31:21 +09:00
Dean Herbert
69844e6c24 Fix beatmap present failing directly after an import 2019-07-25 12:18:18 +09:00
Dean Herbert
8703f0ad40 Change song select initialisation to promote db context sharing 2019-06-30 22:23:48 +09:00
Dean Herbert
9e1cb90dd8 Remove existing argument for ItemAdded event
For all usages, it looks like this was unnecessary.
2019-06-26 11:40:41 +09:00
smoogipoo
13234fb4a4 Adjust comments a bit 2019-06-12 16:07:35 +09:00
David Zhao
4f09141718 remove extra bool 2019-05-29 12:22:34 +09:00
David Zhao
1a871af552 Fix hide selection, add test 2019-05-28 19:15:29 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dan Balasescu
5de99f3f5b
Merge branch 'master' into fix-random-select-crash 2019-03-22 14:11:06 +09:00
Dean Herbert
37010f97d7 Fix random select crashing
Closes #3383.
2019-03-21 21:02:54 +09:00
Dean Herbert
e2503888a4 Expose carousel's loaded flag 2019-03-21 20:51:06 +09:00
Dean Herbert
c496f6e56b Fix usages of OnLoadComplete 2019-03-17 13:44:20 +09:00
Dean Herbert
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
Dean Herbert
3fe4b8fd1c Update variable names
Also cleans up some weird code
2019-02-22 17:51:39 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f Update with framework bindable changes 2019-02-21 18:56:34 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Unknown
6eff79913b remove blank lines 2019-01-11 10:34:56 +01:00
smoogipoo
f27bd3ef3e OpenTK -> osuTK 2018-11-20 17:14:59 +09:00
ekrctb
99fc04c8af Change signature to new event handler 2018-10-02 12:02:47 +09:00
smoogipoo
a8f156584b Update framework with positional/non-positional changes 2018-09-26 14:01:15 +09:00
Dean Herbert
c23b9b61a8 Simplify implementation in line with framework improvements 2018-09-06 17:28:08 +09:00
Dean Herbert
e63f60231a Optimise carousel memory usage by unloading off-screen panels 2018-09-06 13:31:37 +09:00
Dean Herbert
919e78a89a Attempt to fix cross-thread database usage 2018-08-29 01:42:25 +09:00
Dean Herbert
95cca046fb Merge branch 'master' into open-downloaded-beatmas 2018-07-25 12:38:49 +02:00
Dean Herbert
0f37758314 Update framework 2018-07-21 16:21:53 +09:00
Dean Herbert
9611292f4e FilterTask -> PendingFilter 2018-07-18 13:18:50 +09:00
Dean Herbert
e395a47112 Changes to naming and text 2018-04-18 19:47:13 +09:00
Dean Herbert
81f0649e44 Merge remote-tracking branch 'origin/master' into tgi74-rightclickscrolling 2018-04-13 19:50:44 +09:00
tgi74000
1a2b1d4c98 Use the already existent RightMouseScrollbar field 2018-04-13 11:32:33 +02:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
tgi74000
e3cd0ef200 Add right click scrolling in song select (and its option) 2018-04-13 11:09:49 +02:00
smoogipoo
69e2d4fd22 Make CarouselRoot a nested class 2018-04-02 15:24:08 +09:00
smoogipoo
82a847b820 Extract random selection logic into CarouselRoot 2018-04-02 15:16:10 +09:00
Endrik Tombak
7e30375443 Use selectNextRandom instead 2018-03-30 10:46:46 +03:00
Endrik Tombak
3f65e3a7e3 Make selection at random when last was null 2018-03-30 00:15:32 +03:00
Dean Herbert
0e669c9a3f Fix many warnings 2018-03-24 18:23:22 +09:00
Dean Herbert
d4aeb3d00b Fix BeatmapCarousel's flush not correctly applying selection changes
They may have been delayed until the next Update, which is too late in this case.
2018-03-23 12:10:13 +09:00
naoey
2c0488b1f1
Invert bool, add test, and handle ruleset change. 2018-03-09 19:39:28 +05:30
naoey
d04f47718f
Make song select choose random when initial selection fails.
- Revert TestCasePlaySongSelect to master
2018-03-09 17:36:55 +05:30
naoey
25fb527cc7
Remove previous fix and move filtered logic to carousel.
- Add an optional bool parameter to SelectBeatmap to skip selecting
filtered maps
2018-03-09 15:51:00 +05:30
Dan Balasescu
a3d26d7d55
Merge branch 'master' into fix-song-select-iteration 2018-02-28 21:40:25 +09:00
Dean Herbert
4a52db14d1 Fix depth of already-visible panels not being updates after a sorting change 2018-02-28 14:18:25 +09:00
Dean Herbert
9b44f447ca Fix song select iteration when all panels are filtered
Resolves #2069.
2018-02-27 17:52:12 +09:00
Dean Herbert
9b33499fe7 Merge remote-tracking branch 'upstream/master' into RefactorInputQueues 2018-01-16 20:04:34 +09:00
Dean Herbert
a3f05ca9ec Avoid unnecessary use of linq 2018-01-09 12:43:10 +09:00
Dean Herbert
b90b1e326e
Merge branch 'master' into fix-randomizer 2018-01-09 12:00:21 +09:00
TocoToucan
ae032cbf23 Support HandleKeyboardInput, HandleMouseInput, CanReceiveKeyboardInput, CanReceiveMouseInput properties 2018-01-07 23:40:00 +03:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Endrik Tombak
ce156098f6 Merge branch 'fix-randomizer' of https://github.com/LittleEndu/osu into fix-randomizer 2018-01-03 12:33:43 +02:00
Endrik Tombak
969fa65c42 Merge branch 'master' of https://github.com/ppy/osu into fix-randomizer 2018-01-03 12:31:59 +02:00
Endrik
35af5d1ce6
Merge branch 'master' into fix-randomizer 2018-01-03 12:25:07 +02:00
Endrik Tombak
5abf93038b Reset only visible sets for more randomized feel 2017-12-31 14:47:27 +02:00
Dean Herbert
dfee8e911f Fix dummy beatmap selection not propagating to song select components 2017-12-31 12:55:53 +09:00
Endrik Tombak
987a6403da Faster count for AppVeyor 2017-12-31 03:25:43 +02:00
Endrik Tombak
d032790e19 Doesn't allow randomizer to select invisible maps 2017-12-31 03:10:54 +02:00
Dean Herbert
e4a8402d3c Use better logic
We need to still perform selection if selectedBeatmap itself is null
2017-12-28 12:38:40 +09:00
FreezyLemon
33480b85c8 fix for Drawables being empty crashing 2017-12-28 03:35:53 +01:00
Dan Balasescu
3a2dadc9d3
Fix spelling error 2017-12-27 23:14:48 +09:00
Dean Herbert
cf9a9762f7 Fix beatmap wedge appearing with incorrect info on entering song select
Closes #1762
2017-12-27 13:02:21 +09:00
Dean Herbert
9ccc49c9b5 Make selection triggering more liberal 2017-12-26 15:32:39 +09:00
Dean Herbert
ed7ae4e956
Merge branch 'master' into fix-info-wedge 2017-12-26 15:08:52 +09:00
Dean Herbert
09ce24a7db Switch to a better way of deciding on null selection
This avoids `SelectionChanged` potentially being invoked multiple times after `selectedBeatmapSet` is already `null`.
2017-12-26 13:41:02 +09:00
FreezyLemon
c737e5245e Removed unnecessary SelectNext() call and change to dummy map when no items present 2017-12-26 01:50:05 +01:00
Dean Herbert
482e10966c Ensure a selection is made on entering song select if no selection is current 2017-12-24 17:02:56 +09:00
Dean Herbert
cf316b3c51 Add tests for initial load states of PlaySongSelect 2017-12-24 15:39:25 +09:00
Dean Herbert
8e644e878a Merge remote-tracking branch 'upstream/master' into fix-info-wedge 2017-12-23 21:40:27 +09:00
Aergwyn
1d67746d32 fix crash in SongSelect when traversing while zero beatmaps are loaded 2017-12-23 12:53:11 +01:00
Dean Herbert
2313ff0ddb Fix beatmap info wedge not showing up when zero beatmaps are loaded
Closes #1722.
2017-12-22 22:19:11 +09:00
Dean Herbert
6121cd3b67 Remove animating skipping and reorder file a bit 2017-12-18 12:30:39 +09:00
Dean Herbert
23e014b52d Simplify drawable removal logic 2017-12-18 12:05:49 +09:00
Dean Herbert
b2cd32eb95 Move children to CarouselGroup 2017-12-18 11:57:13 +09:00
Dean Herbert
7173829896 Add filter checks to difficulty selection 2017-12-18 11:43:10 +09:00
Dean Herbert
5bfb6d1f58 Remove unused variable 2017-12-18 11:13:51 +09:00
Dean Herbert
954bc77a71 Indicate unused variable 2017-12-18 08:05:57 +09:00
Dean Herbert
482941b333 Preload drawables to force asynchronous construction 2017-12-18 06:59:32 +09:00
Dean Herbert
30a15729ec Fix event handling from outside carousel being scheduled at the wrong level
Was causing BeatmapSet's Set to run *after* newer events were received.
2017-12-18 02:46:53 +09:00
Dean Herbert
942054a30f Re-fix null selection 2017-12-18 02:26:40 +09:00
Dean Herbert
19643ba5e6 Resolve scroll animation/position issues 2017-12-18 02:23:03 +09:00
Dean Herbert
54cc6fadf9 Greatly improve performance when many hidden panels are on-screen 2017-12-17 05:57:50 +09:00
Dean Herbert
5d7413f19c Improve performance with large numbers of panels visible 2017-12-17 04:30:56 +09:00
Dean Herbert
e2710a309c Fix panel animation and depth 2017-12-17 02:43:24 +09:00
Dean Herbert
da0940ae0b Only apply criteria if there are items populated in the carousel 2017-12-16 23:55:55 +09:00
Dean Herbert
33f8c8419a Fix initial beatmap selection potentially being incorrect 2017-12-16 21:25:54 +09:00
Dean Herbert
59dbca2612 Fix ScrollToSelected being called in too many cases 2017-12-16 16:44:42 +09:00
Dean Herbert
df7e795aa3 Simplify and rename filter methods 2017-12-16 16:27:39 +09:00
Dean Herbert
3c406662ed Ensure correct selection after deletion of currently selected
Also fixes a lot of bad interactions and simplifies further.
2017-12-16 16:18:44 +09:00
Dean Herbert
a8a2c233a0 Add tests for (and fix) removal of last item in carousel 2017-12-16 00:33:09 +09:00
Dean Herbert
192ceb5465 Avoid multiple access to selectedBeatmap during y position computation 2017-12-15 14:44:12 +09:00
Dean Herbert
2e3332e3fe Shortcut non-visible panels to avoid adding as drawables 2017-12-15 14:44:12 +09:00
Dean Herbert
67f05977ea Add sorting support 2017-12-15 14:36:51 +09:00
Dean Herbert
b4b2f12116 Add support for adding/removing items
Tests accompany of course
2017-12-15 14:36:51 +09:00
Dean Herbert
7814b2df14 More renaming 2017-12-15 14:36:51 +09:00
Dean Herbert
5cbb9b9b18 Fix random and add tests
Also exposes SelectedBeatmapSet.
2017-12-15 14:36:51 +09:00