Commit Graph

7644 Commits

Author SHA1 Message Date
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
08fd0ea086 Fix click-to-return container still handling hover when inactive 2022-05-06 12:28:53 +02:00
be960eb092 Move dangerous hold specification to base class 2022-05-06 14:34:31 +09:00
0d8e42b941 Merge branch 'master' into exit-multiplayer-is-dangerous 2022-05-06 14:25:18 +09:00
0974de8fb0 Use BindableFloat for chat height 2022-05-05 23:13:32 +01:00
16a6c11bc8 Clamp maximum and minimum height the chat overlay can be resized to 2022-05-05 21:40:37 +01:00
34cf4c6a38 Fix mod overlay not closing on toggle hotkey 2022-05-05 22:16:56 +02:00
a56eab2c47 Extract interface for overlay management 2022-05-05 22:16:55 +02:00
ac08498f35 Use plum colour scheme in multiplayer to match rest of multiplayer screens 2022-05-05 22:16:54 +02:00
79e1b93b30 Close customisation area on escape press before exiting 2022-05-05 19:17:36 +02:00
2cc56a4b19 Fix hidden issue with automatic customisation panel show logic
Doesn't cause tests to fail headless, but they do fail in the test
browser.
2022-05-05 19:17:36 +02:00