1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 12:37:29 +08:00
Commit Graph

38 Commits

Author SHA1 Message Date
Bartłomiej Dach
0c2b4a6c0b
Fix invalid IsLoaded check
Would fail when `availableMods` would be changed from a different thread
while the columns aren't loaded.
2022-05-07 15:44:22 +02:00
Bartłomiej Dach
fe69bd7ed9
Merge branch 'master' into change-mod-scroll-behaviour 2022-05-07 13:29:02 +02:00
Salman Ahmed
8ee3fdd0aa Change mod scrolling behaviour to not scroll horizontally on columns/settings 2022-05-07 12:15:11 +03:00
Bartłomiej Dach
f761d4d4d4
Reuse "select/deselect all" localisable string on column toggle 2022-05-07 10:56:03 +02:00
Bartłomiej Dach
18e4c3ed0f
Update mod columns even if they're not present/offscreen
Important to make "select/deselect all" operations work on all columns
simultaneously, even if they're offscreen. Unfortunately by the nature
of how the existing selection animation works, it is hard-tied to the
update loop, so we need to compensate.
2022-05-07 09:50:09 +02:00
Bartłomiej Dach
9514a5cef7
Only load panels asynchronously outside of BDL 2022-05-07 09:50:09 +02:00
Bartłomiej Dach
9f96dd47d1
Remove schedule in panel load
It was causing selection/deselection of all mods to work improperly if a
select/deselect all operation was requested before the panel was
scrolled into view.

In general the schedule was an over-optimisation - the game-global set
of available mods shouldn't be changing so often as to warrant such an
aggressive debounce.
2022-05-07 09:50:09 +02:00
Bartłomiej Dach
621f746789
Do not modify selected mods through panel state change during external update 2022-05-06 21:47:04 +02:00
Bartłomiej Dach
c199b8fcb6
Simplify state management in ModColumn
Bad sign when you can't follow your own code.

All of the various state changing methods were flattened into one
because it was too hard to follow what was calling what and why.
2022-05-06 21:46:16 +02:00
Dean Herbert
3eead5a6a3 Rename FlushAnimation to FlushPendingSelections to better match purpose 2022-05-04 19:40:08 +09:00
Bartłomiej Dach
f5fa41356e
Rewrite mod instance management again to pass tests 2022-05-03 22:31:34 +02:00
Bartłomiej Dach
f91ee4b042
Reset panel mod instance settings to defaults on deselect 2022-05-03 21:45:40 +02:00
Bartłomiej Dach
7c04bf5c53
Refactor mod reference management to meet test expectations 2022-05-03 21:45:40 +02:00
Bartłomiej Dach
fe59f4ae58
Fix multiselection operation not flushing on close 2022-05-03 21:45:39 +02:00
Bartłomiej Dach
746a4a7403
Fix mod column using wrong equality type 2022-05-03 21:45:39 +02:00
Dean Herbert
652e022fd6
Merge pull request #17973 from bdach/mod-overlay/dim-columns-offscreen
Dim offscreen columns on new mod select overlay
2022-04-29 11:55:27 +09:00
Dean Herbert
b29af28028 Fix mod panels not ignoring super key presses
Most other usages have this included. Noticed that the panel was
changing state when exiting the game using cmd-w.

Would probably be nice to have an exposed `HasAnyModifierPressed` helper
property.
2022-04-27 16:55:17 +09:00
Bartłomiej Dach
ebc8429495
Dim offscreen columns & scroll to them if clicked 2022-04-25 23:08:04 +02:00
Dean Herbert
b722ff8dc5 Merge branch 'master' into mod-overlay/extension-points 2022-04-20 23:17:04 +09:00
Dean Herbert
65b2db5e71 Move shear constant to overlay (this is going to likely be used everywhere ever) 2022-04-20 16:30:58 +09:00
Bartłomiej Dach
67c44db8d5
Add extension points required for replacing old mod overlay 2022-04-17 23:28:51 +02:00
Dean Herbert
9fdeb20537 Animate individual ModColumns during togle of oerlay 2022-04-05 18:27:34 +09:00
Dean Herbert
497e5e3a36 Slightly adjust scroll handling and also apply to ModSettingsContainer 2022-04-05 17:19:33 +09:00
Dean Herbert
58e9147b12 Simplify and better comment nested scroll conditionals 2022-04-05 16:48:25 +09:00
Dean Herbert
f156cb797d Improve nested scroll behaviour 2022-04-05 16:46:09 +09:00
Bartłomiej Dach
cd776d21a6
Fix propagation of selected mods to columns 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
293ef44836
Implement new mod select screen 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
899b95e61b
Do not delay inital mod update by a frame 2022-02-28 21:46:58 +01:00
Bartłomiej Dach
e8701f46f1
Add xmldoc to Filter to explain usage 2022-02-28 21:39:21 +01:00
Bartłomiej Dach
6cc972aa6a
Fix test failures by waiting for panel load 2022-02-28 21:36:13 +01:00
Bartłomiej Dach
774952adda
Rescale components from figma to real dimensions 2022-02-27 23:08:31 +01:00
Bartłomiej Dach
16c6b9b3b3
Add keyboard selection support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
b690df05de
Hide multiselection checkbox if everything is filtered 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a83f96b026
Add filtering support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a80b4334ff
Tweak layout of column display for better spacing 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
53e8072632
Port multiselection from previous design 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
f40bd39487
Add toggle all checkbox to column display 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
2e04a83554
Implement column display for new mod design 2022-02-27 22:51:27 +01:00