Bartłomiej Dach
b72cf4cd5d
Merge branch 'mod-overlay/localisation-strings' into mod-overlay/back-button
2022-05-07 10:58:09 +02: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
fa0a256f48
Add localisable string for difficulty multiplier display
2022-05-07 10:48:15 +02:00
Bartłomiej Dach
271d64fd54
Add back button to mod select overlays
2022-05-07 10:17:32 +02:00
Bartłomiej Dach
6ad990dfc3
Add basic localisation strings for new mod select
2022-05-07 10:17:24 +02:00
Bartłomiej Dach
4ff96f82be
Dim other buttons if customisation panel is open
2022-05-07 09:50:09 +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
852e4a9766
Add select/deselect all buttons to free mod select screen
2022-05-07 09:29:33 +02:00
Bartłomiej Dach
0b95594f60
Add some more padding between footer and column scroll
2022-05-07 09:29:33 +02:00
Bartłomiej Dach
0c6de331f3
Move footer button padding to a higher level
2022-05-07 09:29:32 +02:00
Bartłomiej Dach
8c73ed7207
Fix sequence equality check not using reference comparison
2022-05-06 21:47:04 +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
Bartłomiej Dach
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
Bartłomiej Dach
08fd0ea086
Fix click-to-return container still handling hover when inactive
2022-05-06 12:28:53 +02:00
Bartłomiej Dach
34cf4c6a38
Fix mod overlay not closing on toggle hotkey
2022-05-05 22:16:56 +02:00
Bartłomiej Dach
ac08498f35
Use plum colour scheme in multiplayer to match rest of multiplayer screens
2022-05-05 22:16:54 +02:00
Bartłomiej Dach
79e1b93b30
Close customisation area on escape press before exiting
2022-05-05 19:17:36 +02:00
Bartłomiej Dach
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
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
970361676b
Fix setting items not creating if mods initially not empty
2022-05-03 21:45:40 +02:00
Bartłomiej Dach
e3641213e1
Always hide unimplemented mods on mod select screen
2022-05-03 21:45:40 +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
f300b62877
Add ScrollIntoView
method which accepts an offset to allow usage in mod select
2022-04-28 20:03:54 +09:00
Dean Herbert
f3a0e2ed55
Increase fade duration
2022-04-28 14:59:39 +09:00
Dean Herbert
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
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
a849bfcf60
Rewrite dim test to pass headless
...
Unfortunately neuters the test a touch, but alas.
2022-04-26 23:11:41 +02:00
Bartłomiej Dach
921e8af3b0
Use more lenient column bounds for checking active state
2022-04-26 22:54:54 +02:00
Bartłomiej Dach
21377d2a4d
Fix inactive columns flickering on and off mid-scroll
2022-04-26 22:43:58 +02:00
Bartłomiej Dach
94d07e147f
Move dimming logic to custom scroll container
2022-04-26 22:37:40 +02:00
Bartłomiej Dach
e9c9c764ca
Fix column dim state changing when scrolling past extent
2022-04-26 22:26:58 +02:00
Bartłomiej Dach
13a36f2e51
Scroll to column when mouse is released rather than pressed
2022-04-26 22:01:24 +02:00
Bartłomiej Dach
b0d6e16658
Invert data flow in column dim implementation
2022-04-26 21:57:19 +02:00
Bartłomiej Dach
e13d0d02ae
Use better way of calculating whether columns are fully on screen
2022-04-25 23:08:05 +02:00
Bartłomiej Dach
e384e074fb
Fix asymmetric margin of column scroll
2022-04-25 23:08:05 +02:00
Bartłomiej Dach
09c08248c4
Fix bounce when scrolling to first/last column
2022-04-25 23:08:05 +02:00
Bartłomiej Dach
ebc8429495
Dim offscreen columns & scroll to them if clicked
2022-04-25 23:08:04 +02:00
Bartłomiej Dach
e246357b36
Merge branch 'master' into sheared-overlay-container-click-away
2022-04-22 22:26:35 +02:00
Dean Herbert
82a1d1cc2e
Fix multiplier display not blocking input
2022-04-22 15:22:58 +09:00
Bartłomiej Dach
b7c11cdb8e
Deselect old incompatible mods if any on user mod select screen
2022-04-21 23:49:30 +02:00
Bartłomiej Dach
32722adba9
Allow mod panels to be clicked in incompatible state
2022-04-21 23:37:01 +02:00
Dean Herbert
0f4b40ab15
Add better click-to-dismiss logic for sheared overlays
2022-04-21 16:27:27 +09:00
Dean Herbert
5c0e5eb6f4
Merge pull request #17899 from Joehuu/localise-most-strings
...
Use existing web localisation for most hardcoded strings
2022-04-21 14:48:12 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Dean Herbert
4466e15bfc
Rename AllowConfiguration
to AllowCustomisation
and simplify drawable addition
2022-04-20 23:17:29 +09: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
Dean Herbert
e17f224793
Fix padding mismatches
2022-04-20 16:28:52 +09:00
Dean Herbert
5c7ff363ce
Move title/description to correct class
2022-04-20 16:08:00 +09:00
Dean Herbert
2ee37aeceb
Reduce nesting and usage of GridContainer
2022-04-20 16:01:15 +09:00
Dean Herbert
1032dc235d
Rename PopupScreenTitle
to ShearedOverlayHeader
2022-04-20 16:01:15 +09:00
Dean Herbert
8d31b0bc01
Split out the base design of sheared overlay into its own abstract class
...
This will allow for reuse with the first-run overlay.
2022-04-20 15:50:16 +09:00
Bartłomiej Dach
0d5ce336f4
Hide mod customisation toggle if customisation not permitted
2022-04-17 23:28:53 +02:00
Bartłomiej Dach
881df7663d
Fix filter not taking effect if applied before panel load completion
2022-04-17 23:28:53 +02:00
Bartłomiej Dach
8af865a1c5
Fix incompatibility panel using reference equality
2022-04-17 23:28:53 +02:00
Bartłomiej Dach
ffb5c1e86c
Tweak colours on incompatibility displaying mod panel
2022-04-17 23:28:52 +02:00
Bartłomiej Dach
20c17b8c98
Make base mod select screen abstract
2022-04-17 23:28:51 +02:00
Bartłomiej Dach
7eebc20124
Add replacements for mod overlays used by game
2022-04-17 23:28:51 +02:00
Bartłomiej Dach
67c44db8d5
Add extension points required for replacing old mod overlay
2022-04-17 23:28:51 +02:00
Dean Herbert
ac799aaf7a
Add missing newline
2022-04-05 19:25:47 +09:00
Dean Herbert
32daf64a31
Use newly exposed framework helper function to find closest parent
2022-04-05 19:24:34 +09:00
Dean Herbert
631aa2a6ec
Remove left padding to allow left-most column to exist further to the.. left
2022-04-05 18:44:25 +09:00
Dean Herbert
54715885af
Adjust animation metrics slightly
2022-04-05 18:41:01 +09:00
Dean Herbert
7a1820e6bb
Fix multiplier display resetting transformations
2022-04-05 18:40:48 +09:00
Dean Herbert
9fdeb20537
Animate individual ModColumn
s during togle of oerlay
2022-04-05 18:27:34 +09:00
Dean Herbert
901032bfa2
Animate multiplier display
2022-04-05 18:25:27 +09:00
Dean Herbert
497e5e3a36
Slightly adjust scroll handling and also apply to ModSettingsContainer
2022-04-05 17:19:33 +09:00
Dean Herbert
a408776734
Limit FillFlow
of columns to applicable direction
2022-04-05 17:15:05 +09:00
Dean Herbert
388322cd61
Speed up customisation panel toggle a bit
2022-04-05 16:56:24 +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
Dean Herbert
23dad7bdc4
Move scroll view padding to content level
...
Without doing this, there is a non-masked but also non-interactive area
to the left or right of the view.
2022-04-05 16:43:00 +09:00
Bartłomiej Dach
9b367d645d
Always play pop in sequence
2022-04-04 20:02:47 +02:00
Dean Herbert
57b8c32f25
Remove unused fields
2022-04-04 20:42:14 +09:00
Dean Herbert
bc53adb72a
Adjust customisation transition slightly
2022-04-04 15:50:40 +09:00
Dean Herbert
b5df350007
Adjust pop in/out transitions
2022-04-04 15:45:44 +09:00
Bartłomiej Dach
cd776d21a6
Fix propagation of selected mods to columns
2022-04-03 20:12:34 +02:00
Bartłomiej Dach
e46c2df409
Add testing for customisation panel show/hide logic
2022-04-03 20:12:33 +02:00
Bartłomiej Dach
293ef44836
Implement new mod select screen
2022-04-03 20:12:33 +02:00
Bartłomiej Dach
624f9fc774
Implement mod settings area component
2022-03-16 23:13:11 +01:00
Bartłomiej Dach
643f68e844
Better annotate initial rolling counter value set
2022-03-07 23:11:20 +01:00
Bartłomiej Dach
019f4d965d
Show two decimal digits on mod multiplier rather than one
2022-03-07 22:55:55 +01:00
Bartłomiej Dach
c25d7a1c75
Use rolling counter for multiplier display
2022-03-07 22:50:51 +01:00
Bartłomiej Dach
78a3b5961e
Implement basic difficulty multiplier display
2022-03-07 22:50:51 +01: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
Dean Herbert
4a555d067d
Change ModPanel
to not handle OnMouseDown
to allow drag scrolling in ModColumn
2022-02-28 14:32:50 +09: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