Commit Graph

7654 Commits

Author SHA1 Message Date
e9cc3ab54a Merge pull request #18164 from Joehuu/fix-exit-dialog-bad-state
Fix popup dialog potentially not clicking last button when dismissed
2022-05-09 17:22:03 +09:00
21e1f4546a Fix popup dialog potentially not clicking last button when dismissed 2022-05-08 14:40:30 -07:00
d964b4f23c Fix uneven spacing when some mod columns are hidden 2022-05-08 15:40:21 +02:00
6bdcf893b7 Move alpha management closer to screen level
Felt bad messing with alpha at the column level.
2022-05-08 15:40:10 +02:00
92ccec20d7 Hide mod columns if all mods within are filtered out 2022-05-08 14:53:59 +02:00
b8cb2c1b82 Increase scroll amount slightly 2022-05-08 19:57:03 +09:00
778497b9e2 Scroll mod select slightly into view on first display 2022-05-08 18:58:54 +09:00
b92d95a17a Fix mod panels playing samples when hidden at a higher level 2022-05-08 10:39:49 +02:00
81ca534f87 Implement ISamplePlaybackDisabler in mod select 2022-05-08 10:39:49 +02:00
230c4e27b8 Simplify and centralise hiding logic for mod overlay
Behaviourally, this also always toggles via button triggering to add the
button flash animation.
2022-05-08 13:03:28 +09:00
46d3220c07 Isolate sample screens from global mods bindable
Fixes scenario wherein entering the first run setup overlay, exiting at
the "UI scale" step (which shows a song select), then moving to actua
song select and trying to select a mod would lead to a crash.

The crash was caused by two active mod screen instances attempting to
swap the global mod bindable's mod instances for ones they owned. This
logic - while generally problematic and hard to maintain - was fixing
several issues with mod reference management and setting copying, so I'm
letting it live another day.

This change will mean that the song select preview on the "UI scale"
step will not receive the same mods that the actual game has enabled.
That said, it already doesn't use the same beatmap or ruleset, so this
looks fine to break.
2022-05-07 21:44:58 +02:00
2278da563e Add various xmldoc for nested classes 2022-05-08 02:03:28 +09:00
03c80d9197 Reorder methods / properties in ModSelectScreen for legibility 2022-05-08 01:58:37 +09:00
1d27ef18dc Add xmldoc for IsValidMod 2022-05-08 01:49:29 +09:00
0d32bf91eb Hardcode hide key handling in ModSelectScreen 2022-05-08 01:35:11 +09:00
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
528342411e Merge branch 'master' into mod-overlay/integration 2022-05-07 13:52:19 +02:00
fe69bd7ed9 Merge branch 'master' into change-mod-scroll-behaviour 2022-05-07 13:29:02 +02:00
9a56f6db44 Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 13:15:13 +02:00
a716f62a6a Flash back button when keyboard back binding is pressed 2022-05-07 13:01:36 +02:00
d4c9de8596 Move button width in mod select to constant 2022-05-07 13:23:48 +03:00
8ee3fdd0aa Change mod scrolling behaviour to not scroll horizontally on columns/settings 2022-05-07 12:15:11 +03:00
fd75963ca2 Dismiss mod select if select binding is pressed 2022-05-07 11:01:05 +02:00
e7e7486a8e Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 10:59:30 +02:00
b72cf4cd5d Merge branch 'mod-overlay/localisation-strings' into mod-overlay/back-button 2022-05-07 10:58:09 +02:00
f761d4d4d4 Reuse "select/deselect all" localisable string on column toggle 2022-05-07 10:56:03 +02:00
fa0a256f48 Add localisable string for difficulty multiplier display 2022-05-07 10:48:15 +02:00
271d64fd54 Add back button to mod select overlays 2022-05-07 10:17:32 +02:00
6ad990dfc3 Add basic localisation strings for new mod select 2022-05-07 10:17:24 +02:00
4ff96f82be Dim other buttons if customisation panel is open 2022-05-07 09:50:09 +02:00
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
9514a5cef7 Only load panels asynchronously outside of BDL 2022-05-07 09:50:09 +02:00
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
852e4a9766 Add select/deselect all buttons to free mod select screen 2022-05-07 09:29:33 +02:00
0b95594f60 Add some more padding between footer and column scroll 2022-05-07 09:29:33 +02:00
0c6de331f3 Move footer button padding to a higher level 2022-05-07 09:29:32 +02:00
dd63657dfb Merge pull request #18065 from huoyaoyuan/code-style
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
8c73ed7207 Fix sequence equality check not using reference comparison 2022-05-06 21:47:04 +02:00
621f746789 Do not modify selected mods through panel state change during external update 2022-05-06 21:47:04 +02:00
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
1409f8ca96 Merge branch 'master' into fix-toolbox-expansion 2022-05-06 18:00:01 +03:00
c533c93ffd Remove leftover border thickness spec in mod settings area
Was never supposed to be there, it was a vestige of a previous design
iteration that went by unnoticed.
2022-05-06 15:34:49 +02:00
e527574ede Merge branch 'master' into fix-toolbox-expansion 2022-05-06 13:47:36 +02:00
98eab9668d Merge pull request #18119 from bdach/mod-overlay/broken-hover
Fix mod panels not hovering correctly after closing customisation area via mouse on new mod select
2022-05-06 20:42:33 +09:00
e9d52aa954 Remove not-accessed field 2022-05-06 13:09:37 +02:00
a915b7333c Remove unused using directive 2022-05-06 13:08:54 +02:00
88c190f3e3 Change colour denoting expanded state to be gray rather than yellow
I always found the yellow colour very non-descript in this case. Gray
seems to work better?
2022-05-06 19:45:17 +09:00
b432885e5f Tidy up ordering of SettingsToolboxGroup 2022-05-06 19:39:09 +09:00
59add66632 Remove unnecessary autosize workaround (was fixed long ago) 2022-05-06 19:39:00 +09:00
949e30c4b4 Remove auto-expansion of individual toolbox groups when parent expanding container expands 2022-05-06 19:36:41 +09:00