Commit Graph

558 Commits

Author SHA1 Message Date
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
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
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
08fd0ea086 Fix click-to-return container still handling hover when inactive 2022-05-06 12:28:53 +02:00
34cf4c6a38 Fix mod overlay not closing on toggle hotkey 2022-05-05 22:16:56 +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
3eead5a6a3 Rename FlushAnimation to FlushPendingSelections to better match purpose 2022-05-04 19:40:08 +09:00
f5fa41356e Rewrite mod instance management again to pass tests 2022-05-03 22:31:34 +02:00
970361676b Fix setting items not creating if mods initially not empty 2022-05-03 21:45:40 +02:00
e3641213e1 Always hide unimplemented mods on mod select screen 2022-05-03 21:45:40 +02:00
f91ee4b042 Reset panel mod instance settings to defaults on deselect 2022-05-03 21:45:40 +02:00
7c04bf5c53 Refactor mod reference management to meet test expectations 2022-05-03 21:45:40 +02:00
fe59f4ae58 Fix multiselection operation not flushing on close 2022-05-03 21:45:39 +02:00
746a4a7403 Fix mod column using wrong equality type 2022-05-03 21:45:39 +02:00
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
f300b62877 Add ScrollIntoView method which accepts an offset to allow usage in mod select 2022-04-28 20:03:54 +09:00
f3a0e2ed55 Increase fade duration 2022-04-28 14:59:39 +09:00
1a345c06c6 Fix regression in nested scroll behaviour due to the top level scroll container's type changing 2022-04-27 17:10:27 +09:00
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
a849bfcf60 Rewrite dim test to pass headless
Unfortunately neuters the test a touch, but alas.
2022-04-26 23:11:41 +02:00
921e8af3b0 Use more lenient column bounds for checking active state 2022-04-26 22:54:54 +02:00
21377d2a4d Fix inactive columns flickering on and off mid-scroll 2022-04-26 22:43:58 +02:00