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

378 Commits

Author SHA1 Message Date
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
Dean Herbert
8646d5d1e0 Add testing and fix filtering only some difficulties 2017-12-15 14:36:51 +09:00
Dean Herbert
ec4f99c92e Clean up tests some more 2017-12-15 14:36:51 +09:00
Dean Herbert
1b85952441 Cleanup and basic TestCase 2017-12-15 14:36:51 +09:00
Dean Herbert
b9298325a3 Rename weird config setting 2017-12-15 14:36:51 +09:00
Dean Herbert
99b00143eb More clean-ups and event bindings 2017-12-15 14:36:51 +09:00
Dean Herbert
78dd975a35 Initial carousel infrastructue changes 2017-12-15 14:36:51 +09:00
Dean Herbert
b10240d7ef Handle the case where the selected panel is no longer a valid selection better 2017-12-11 21:31:26 +09:00
Dean Herbert
fb92b3551e Correct panel y positions when filtered panels are present 2017-12-11 21:12:06 +09:00
Dean Herbert
f58c554d19 Add per-difficulty filtering support
Filters based on selected ruleset
2017-12-11 20:22:10 +09:00
Aergwyn
821154d3bb reverted Beatmaps-setter back to its former glory 2017-12-09 08:42:59 +01:00
Aergwyn
3e417d8e30 removed specific AddBeatmap method
the way UpdateBeatmapSet was extended it can handle all of this and better
2017-12-08 12:47:28 +01:00
Aergwyn
105d01d85b fix crash when restoring from any non-SongSelect-screen
removed unwanted refresh
2017-12-07 22:02:53 +01:00
Aergwyn
12665fb8cf remove unnecessary declaration + revert accidental formatting 2017-12-04 12:11:28 +01:00
Aergwyn
011223048b fix crash if any amount of maps were restored from main menu
also fixes preview not playing if an entire set is restored
2017-12-04 11:47:27 +01:00
Aergwyn
3bdf82d8df refactor newly added code to be less redundant 2017-11-28 21:38:11 +01:00
Aergwyn
6a4cc93360 fixes crash if all beatmaps of a set are hidden 2017-11-28 21:26:13 +01:00
Dean Herbert
2603219350 Load beatmap carousel panels asynchronously 2017-11-21 22:30:09 +09:00
Dean Herbert
4f6263ef86 Make many internal classes and methods public
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
2017-11-21 12:06:16 +09:00
Dean Herbert
f486ab1f6c
Merge branch 'master' into song_select_delete 2017-10-30 21:07:02 +09:00
Dean Herbert
5001e9f264 Fix Hide/Restore/Delete etc. 2017-10-25 22:08:34 +09:00
Dean Herbert
f69fa0cf1f Fix selection after hiding all difficulties in a set 2017-10-20 11:16:56 +09:00
Dean Herbert
a85de09c0f Fix beatmap carousel interactions with deletion when not yet displayed 2017-10-18 18:36:35 +09:00
smoogipoo
b178be21d1 Let's not rename columns yet 2017-10-14 14:30:58 +09:00
EVAST9919
502940ddf3 Fix deleting last visible beatmap doesn't trigger selecting null beatmap 2017-10-14 05:05:38 +03:00
EVAST9919
7cff413ab0 Fix wrong beatmap selection in song-select menu on deleting selected beatmap 2017-10-11 20:25:12 +03:00
TocoToucan
8b01f8671f Merge from ppy/master 2017-10-10 21:07:36 +03:00
smoogipoo
d3109a5950 Hook up BeatmapPanel "Edit" item 2017-10-07 00:59:14 +09:00
TocoToucan
887aa7496b Rework EF Core usage in model classes 2017-10-06 00:23:26 +03:00
TocoToucan
6a4198d0d6 Initial EF Core commit 2017-10-04 22:52:12 +03:00
Dean Herbert
396a56ddf4 Remove global OsuContextMenuContainer 2017-09-14 15:41:32 +09:00
Dean Herbert
dd26c80837 Delete -> Hide 2017-09-04 07:59:32 +09:00
Dan Balasescu
19ad5d5328 Merge branch 'master' into song-select-context-menus 2017-09-04 07:56:31 +09:00
Dean Herbert
3ede685ee9 Fix crash on random selection from a previously null selection 2017-09-01 18:44:51 +09:00
Dean Herbert
f9d02afb00 Don't allow selection of a hidden beatmap 2017-09-01 18:13:21 +09:00
Dean Herbert
1f646e6d54 Add hiding support for beatmap difficulties 2017-09-01 17:57:12 +09:00
Dean Herbert
3b4b4b669b Add framework for deleting difficulties 2017-08-30 21:12:46 +09:00
Dean Herbert
07da29ea1c Add context menu to beatmap set header 2017-08-30 20:41:41 +09:00
Dean Herbert
c8b5c1b8a5 Merge branch 'master' into scroll_to_selected 2017-08-01 11:06:32 +09:00
EVAST9919
6b3a81f567 Fix hard crash when pressing random if no beatmaps avaliable 2017-07-29 17:42:32 +03:00
EVAST9919
8458622c4d Add ScrollToSelected method 2017-07-29 16:03:17 +03:00
Dean Herbert
e691dd12c5 Fix potential sequen of execution issues in BeatmapCarousel 2017-07-28 15:05:08 +09:00
Dean Herbert
5f53426a9a *Database -> *Store
Welcome back BeatmapManager
2017-07-27 16:56:41 +09:00
Dean Herbert
9e20a02c0a Split out BeatmapDatabase into BeatmapStore
Hide database functionality at a lower level in preparation from eventually making it private.
2017-07-26 16:31:34 +09:00
Dean Herbert
fce580d717 Reshuffle namespaces 2017-07-26 13:22:46 +09:00
Dean Herbert
84f12c722f Merge branch 'master' into master 2017-07-24 18:23:36 +09:00
tgi74000
d0e99f0c95 check removed beatmap being null, check promptdelete beatmap being default 2017-07-24 10:25:33 +02:00
tgi74000
5d30efc090 Do not trigger Random if no Beatmaps are imported 2017-07-24 09:57:12 +02:00
EVAST9919
d9e9ab22db Merge remote-tracking branch 'refs/remotes/ppy/master' into scrollable_carousel 2017-07-23 13:27:03 +03:00
Thomas Müller
e68675f970 Rename EasingTypes to Easing 2017-07-22 20:53:53 +02:00
EVAST9919
388fcfb295 Make BeatmapCarousel inherit from OsuScrollContainer 2017-07-21 13:13:53 +03:00
Dean Herbert
12b6b80d5c Make method to flush filter requests 2017-07-21 17:20:52 +09:00
Dean Herbert
fb2f1224b3 Fix carousel filter debounce causing a race condition
Clicking a ruleset button on toolbar would schedule a delayed filter of carousel, which could in turn trigger a beatmap change after pushing a Player. This resolves that by forcing any pending operations to complete.
2017-07-21 05:58:58 +09:00
Thomas Müller
e84d8cc020 Merge branch 'master' into fix-empty-carousel 2017-07-20 21:15:58 +02:00
Dean Herbert
4f10256182 Remove unnecessary count check 2017-07-20 15:34:44 +09:00
Dean Herbert
a59557f039 Fix selection not being reset correct when changing between rulesets
Carousels filtered to results with no maps visible were not being handled correctly in a few different ways. This covers all those scenarios.
2017-07-20 15:12:20 +09:00
Dean Herbert
15eb6954da Fix hitting down and enter at song select causing a hard-crash
Carousel was not aware of the disabled beatmap change state. Also it was being set too late (in an async load) so wasn't useful. It's now pre-emptively set in PlaySongSelect before loading Player.
2017-07-20 11:50:52 +09:00
Dean Herbert
35157ca6b8 Make DefaultBeatmap private get. 2017-07-19 18:09:59 +09:00
Dean Herbert
f168ee660c Move dummy to BeatmapDatabase 2017-07-19 15:16:43 +09:00
Thomas Müller
9d523ea012 Update framework 2017-07-12 11:06:13 +09:00
EVAST9919
5117baae66 Make random works with panels too 2017-06-15 06:37:20 +03:00
EVAST9919
e552c39444 change function to a property 2017-06-11 22:04:35 +03:00
EVAST9919
c3f4b1b3cb Merge remote-tracking branch 'refs/remotes/ppy/master' into cancel-select-random 2017-06-11 21:56:55 +03:00
John Neijzen
aa3a231763 Review Changes 2017-06-07 22:00:14 +08:00
John Neijzen
f9c466eee9 bit more readable 2017-06-07 20:12:16 +08:00
John Neijzen
23a7045eef More Clean UP 2017-06-07 20:07:18 +08:00
John Neijzen
9b0e1c26a3 Clean Up Code 2017-06-07 19:53:37 +08:00
EVAST9919
78500eec21 Applied suggested changes 2017-06-05 12:24:28 +03:00
EVAST9919
a42c67ee97 Cancel beatmap random selection 2017-06-01 20:54:42 +03:00
Patrick Andersson
94294e4b45 Changed default selection type and added suggestions from PR feedback 2017-06-01 08:54:48 +02:00
Patrick Andersson
a3945bb11d Added suggestions by code inspector 2017-05-31 22:04:29 +02:00
Patrick Andersson
9592e9778b Trim whitespace 2017-05-31 20:31:05 +02:00
Patrick Andersson
1dd85b5986 Add alternative for random beatmap selection
"Never repeat" will not repeat until all songs have been seen by repeatedly pressing F2/Random button
2017-05-31 20:11:26 +02:00
MrTheMake
24f64c8815 More formatting 2017-05-24 02:38:05 +02:00
MrTheMake
e9c2b51012 Random the difficulty too 2017-05-22 01:59:10 +02:00
MrTheMake
5ef7451dba Improved LEFTand RIGHT key behaviour 2017-05-22 01:53:36 +02:00
MrTheMake
974e8d1f82 Fix pressing up always goes to the first beatmap group difficulty, not the last 2017-05-21 19:27:34 +02:00
MrTheMake
043d1ed20a Updated preload condition to handle special case 2017-05-21 14:08:04 +02:00
MrTheMake
1546bbc66b Updated preload condition. 2017-05-21 13:04:04 +02:00
MrTheMake
44cad4e0ac Fix a bug that prevents the lowest beatmap group from being selected if it is not completly on-screen. 2017-05-21 03:04:12 +02:00
Dean Herbert
7bb38e927b Fix song select reverting to first difficulty of current group on entering 2017-05-17 17:33:20 +09:00
Huo Yaoyuan
767cfaaac3 Access database recursively. 2017-05-06 15:37:53 +08:00
ColdVolcano
f2b0602f90 Double check if the selectedpanel is not the provided as argument 2017-05-01 00:13:00 -05:00
Dean Herbert
4e65da0fd1 Fix regression in panel select animation.
Currently we are required to update computeYPositions twice per selection. Without doing this, panels are in the wrong place when using keyboard selection.

There's still a bit of work to be done to make this work correctly. It's caused by a race condition of state application for panels which have not yet been presented (and get their state applied in LoadComplete which breaks the order of things).
2017-04-28 22:17:35 +09:00
Dean Herbert
003cf53441 Streamline panel selection event logic.
Was previously firing multiple times where it was completely unnecessary. Also had bidirection firing going on.
2017-04-28 20:43:42 +09:00
Dean Herbert
b78fa99620 Don't perform a selection if we already have the correct panel selected. 2017-04-28 20:31:09 +09:00
Dean Herbert
f2174054ea
Fix song select. 2017-04-18 10:04:32 +09:00
Dean Herbert
4b1588a21d
Fix correct mode filter not being applied when first entering song select. 2017-04-05 17:33:19 +09:00
Dean Herbert
6afa6f30cc
Keep selected beatmap in centre of screen post-filter. 2017-03-29 20:01:46 +09:00
Dean Herbert
fa7fd6efe3
Fix mode selector not invoking a re-filter. 2017-03-29 19:48:13 +09:00
Dean Herbert
f7dc7e9bb9
Update references. 2017-03-28 21:26:20 +09:00
Dean Herbert
54e1b24fe9
Enforce readonly private members where possible. 2017-03-23 13:50:08 +09:00
Dean Herbert
c7fa79b027
Fix nullref. 2017-03-17 20:09:23 +09:00
Dean Herbert
907236e475
Move filtering to BeatmapCarousel (but actual logic is now in FilterCriteria. 2017-03-17 19:54:51 +09:00
Dean Herbert
4b97304603
CarouselContainer -> BeatmapCarousel. 2017-03-17 19:12:54 +09:00