Givikap120
8a1fc7c340
Basic stuff (not working for now)
2023-08-26 01:20:41 +03:00
Bartłomiej Dach
973e6ded2a
Update wrong comment, too
2023-07-26 21:56:04 +02:00
Bartłomiej Dach
992f78b158
Use more consistent way of closing overlay
2023-07-26 21:54:35 +02:00
Dean Herbert
8d5efc9612
Add back the ability to close mod select using enter key
...
I've seen this brought up a few times (with people thinking
the fact it's not working is a bug) so we'll need to keep this
behaviour for now.
2023-07-27 02:36:25 +09:00
Dean Herbert
18c5fc689f
Don't expose such specific information from ModSelectOverlay
2023-07-20 12:58:13 +09:00
Dean Herbert
eb149942e5
Add ability to toggle all free mods quickly at multiplayer song select
2023-07-19 19:08:32 +09:00
Dean Herbert
f5c472c0fe
Don't hide mod select overlay when pressing select binding with no search
2023-07-13 17:50:07 +09:00
Bartłomiej Dach
b4c1266fc5
Add TODO for future support of typical search shortcuts
2023-06-18 15:58:50 +02:00
Bartłomiej Dach
b87acfa66f
Dynamically change placeholder to convey how to activate search
2023-06-18 15:58:50 +02:00
Bartłomiej Dach
75300ca229
Switch search box to initially unfocused
...
Done primarily to keep mod hotkeys working without any behavioural
changes when mod select is opened.
2023-06-18 15:58:50 +02:00
Bartłomiej Dach
a49af06e88
Reword comments in ModSelectOverlay
2023-06-18 14:34:33 +02:00
Bartłomiej Dach
28f929dc4d
Remove yet another redundant guard
2023-06-18 14:28:26 +02:00
Cootz
d219b5f77f
Reword change focus comment
2023-06-09 17:10:13 +03:00
Cootz
c3b50e1309
Move the multiplier back to TopRight
2023-06-09 16:25:04 +03:00
Cootz
71e6f80c40
Add hotkey for switching search bar focus
2023-06-05 15:54:19 +03:00
Cootz
3ebc801484
Move (de)select all mods hotkeys handling to ModSelectOverlay
2023-06-05 13:49:07 +03:00
Cootz
a46f5b90d4
Move focus handling into PopIn
2023-06-04 18:11:44 +03:00
Cootz
32b9e6ec8f
Make search bar active by default
2023-06-04 17:02:46 +03:00
Cootz
69b640a185
Remove hotkeys handling from DeselectAllModsButton
2023-06-03 10:47:48 +03:00
Cootz
9d4ba5d64a
Remove unnecessary null checks
2023-06-02 12:00:03 +03:00
Cootz
4c7cca101e
Rename IsValid
to Visible
2023-06-02 11:33:38 +03:00
Cootz
325c114c1c
Remove redundant xmldocs
2023-06-02 10:39:27 +03:00
Cootz
39489358fa
Apply appearance animation to aboveColumnsContent
2023-06-01 14:07:05 +03:00
Cootz
0e5c99b760
Fix search bar showing incorrectly
2023-05-28 13:12:57 +03:00
Cootz
c3f06ad2db
Merge branch 'master' into add-mod-search-option
2023-05-23 08:55:57 +03:00
Cootz
67bf1b4dfe
Select/deselect first visible mod when GlobalAction.Select
is triggered
2023-05-21 11:05:01 +03:00
Cootz
6647d95ea7
Kill search focus when clicking on ModColumn
2023-05-14 18:32:16 +03:00
Cootz
2467813d81
Block deselect all
short key when using the search box
2023-05-09 16:14:42 +03:00
Cootz
cbb9f0100e
Update PopIn
and PopOut
filtering. Expose SearchTerm
2023-05-06 11:27:06 +03:00
Cootz
54757df51f
Fix mod deselect button not working properly when search applied
2023-05-05 09:31:27 +03:00
Cootz
1ac9d900e1
Clear search on ModSelectOverlay.Hide
2023-05-04 19:24:37 +03:00
Cootz
152d2678d5
Fix ModSelectColumn
completely disappear from ModSelectOverlay
2023-05-03 14:00:46 +03:00
Cootz
a6ca049739
Manually implement @bdach prototype
2023-05-02 14:15:33 +03:00
Dean Herbert
e808e7316b
Mark delegate value unused and add comment to avoid future regression
2023-05-02 13:29:30 +09:00
Bartłomiej Dach
2e3daf0a54
Fix leak of ModSettingChangeTracker
instances
...
The `SelectedMods.BindValueChanged()` callback in `ModSelectOverlay` can
in some instances run recursively. This is most heavily leaned on in
scenarios where `SelectedMods` is updated by an external component. In
such cases, the mod select overlay needs to replace the mod instances
received externally with mod instances which it owns, so that the changes
made on the overlay can propagate outwards.
This in particular means that prior to this commit, it was possible to
encounter the following scenario:
modSettingChangeTracker?.Dispose();
updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
// therefore causing a recursive call
modSettingChangeTracker?.Dispose();
// inner call continues
modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);
// outer call continues
modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);
This leaks one `modSettingChangeTracker` instance from the inner call,
which is never disposed.
To avoid this, move the disposal to the same side of the recursion that
the creation happens on, changing the call pattern to:
updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
// therefore causing a recursive call
modSettingChangeTracker?.Dispose();
// inner call continues
modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);
modSettingChangeTracker?.Dispose();
// outer call continues
modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);
which, while slightly wasteful, does not cause any leaks.
The solution is definitely suboptimal, but addressing this properly
would entail a major rewrite of the mod instance management in the mods
overlay, which is probably not the wisest move to make right now.
2023-04-30 17:31:41 +02:00
Cootz
b795e8ac5a
Use ModSearch
in ModeSelectOverlay
2023-04-27 17:26:35 +03:00
Cootz
3c6141f233
Add ModSearch
2023-04-27 17:08:29 +03:00
Hy0tic
56ab029a58
fix issue where multipler does not update when adjusting speed for preset mod
2023-04-22 13:30:08 -04:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
ansel
b056cac10a
Remove generic and add default implementation for CalculateEffect
2022-09-10 08:34:29 +03:00
ansel
545e0bbcef
Adjust inheritors and test
2022-08-29 22:49:25 +03:00
ansel
039f009562
Inherit difficulty multiplier display from ModsEffectDiplay
2022-08-27 20:26:05 +03:00
Bartłomiej Dach
3109066e34
Rename {Requires -> Pending}Configuration
2022-08-16 22:45:24 +02:00
Bartłomiej Dach
10daac6752
Only open mod customisation panel on explicit selection of single mod
2022-08-15 20:38:23 +02:00
Bartłomiej Dach
f860bc11ee
Fix several schedule-related issues arising from new column addition
2022-08-15 20:38:16 +02:00
Bartłomiej Dach
5ff2e41a55
Add preset column to mod select test scene
2022-08-15 18:38:37 +02:00
Bartłomiej Dach
839409d7ac
Add preset column to solo mod select overlay
2022-08-07 16:20:31 +02:00
Bartłomiej Dach
b318bbd5e6
Allow non-homogenous column types in mod select overlay
2022-08-07 16:20:31 +02:00
Salman Ahmed
89653b74c7
Only add setting tracker when customisation is permitted
2022-07-19 19:21:16 +03:00
Salman Ahmed
eddae7b143
Fix mod overlay and footer not updating multiplayer on settings change
2022-07-18 07:38:56 +03:00
Dean Herbert
a03abc747b
Tidy up comments and simplify bounding box centre logic
2022-07-02 12:58:34 +09:00
Jamie Taylor
9d28d5f8ee
Update SFX for mod overlay show/hide
2022-07-01 20:43:12 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Bartłomiej Dach
73124d2b1f
Encapsulate mod hotkey selection logic in strategy pattern
2022-06-21 12:49:01 +02:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Bartłomiej Dach
071e158a29
Expose available mod state outwardly as a bindable
2022-05-25 23:06:12 +02:00
Bartłomiej Dach
f0303d76e8
Split off "select all mods" button to separate class
2022-05-25 22:18:30 +02:00
Bartłomiej Dach
a4bd399b0c
Split off "deselect all mods" button to separate class
2022-05-25 22:14:45 +02:00
Dean Herbert
062ffe64ac
Remove delay on pop in
2022-05-17 18:21:19 +09:00
Bartłomiej Dach
170df01b46
Adjust difficulty multiplier scale transition on mod overlay
...
The previous transition was supposed to be a center-anchored elastic
scale-in, but this didn't work as intended - because the multiplier
ended up inside of an auto-sized right-aligned container, the animation
itself would end up being anchored right.
Attempts to remove the scale transition resulted in a rather
jarring-looking result, so swap out the elastic scale-in for a sweep-in
effect from the top, to match the header and avoid introducing too many
directions of movement.
Delay values tweaked "to taste" - can be adjusted further if there is an
alternative set of values that feels better.
2022-05-15 20:44:50 +02:00
Dean Herbert
8a01050168
Refactor mod select button initialisation to allow shared usage of deselect button
2022-05-15 03:16:43 +09:00
Dean Herbert
a759cf2dab
Add key binding to deselect all mods
...
Defaults to `Backspace`.
2022-05-15 02:51:58 +09:00
Bartłomiej Dach
981ead68bf
Ensure local mods are constructed in time for Pop{In,Out}()
2022-05-11 22:31:27 +02:00
Bartłomiej Dach
93539160ad
Remove no-longer-necessary guard
2022-05-11 22:31:26 +02:00
Bartłomiej Dach
fc24a56478
Add protection from recursive updates from external selection
2022-05-11 22:31:25 +02:00
Bartłomiej Dach
83ba06e7af
Extract helper property for accessing all mods
2022-05-11 22:31:25 +02:00
Bartłomiej Dach
11ae1da65a
Hoist reference replacement logic to overlay level
2022-05-11 22:26:47 +02:00
Bartłomiej Dach
05a21fbbe0
Hoist ModState
to overlay level
2022-05-11 22:26:21 +02:00
Bartłomiej Dach
ddb2d4eef5
Rename FreeModSelect{Screen -> Overlay}
reference in inline comment
2022-05-11 18:06:09 +02:00
Bartłomiej Dach
a104277e7f
Rename ModSelect{Screen -> Overlay}Strings
2022-05-11 18:01:33 +02:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay}
in place of removed old design
2022-05-10 22:56:50 +02:00
Bartłomiej Dach
128468e13d
Remove old base mod select overlay
2022-05-10 21:52:30 +02:00
Dean Herbert
3eead5a6a3
Rename FlushAnimation
to FlushPendingSelections
to better match purpose
2022-05-04 19:40:08 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
bf0a1167ec
Improve update flow and ensure selected mods is read from local context
2021-08-24 13:35:39 +09:00
Dean Herbert
9b9dacf3fe
Update usages of Drawable.Click()
2021-08-04 17:30:33 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09:00
Dean Herbert
af270cccc4
Fix cross talk between ModSelectOverlay
s
2021-07-08 17:59:04 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
Dean Herbert
5883922177
Remove mod multiplier completely
2021-06-25 16:36:31 +09:00
aitani9
62566f2a4a
Remove "Score Multiplier" text
2021-06-24 14:29:47 -07:00
Dean Herbert
abc96057b2
Remove relative height specification and use constant height
2021-05-21 17:55:46 +09:00
Dean Herbert
7fc450c620
Fix mod settings blocking input outside its visible area
...
Closes #12502 .
2021-04-20 23:42:56 +09:00
smoogipoo
ccb83ef3a3
Fix checkbox not being updated
2021-02-22 15:47:47 +09:00
smoogipoo
d3f0c0730d
Merge branch 'master' into non-concurrent-sample-playback
2021-02-12 17:22:15 +09:00
Dean Herbert
98c5b0220c
Merge pull request #11725 from smoogipoo/freemods-user-settings
...
Add local user customisation for freemod mod settings
2021-02-11 16:02:24 +09:00
smoogipoo
822c66033f
Add local-user freemod configuration
2021-02-10 19:56:59 +09:00
Dean Herbert
b3b0d97354
Avoid potential feedback from bindable event binds
2021-02-10 15:33:04 +09:00
Dean Herbert
435c85a2e7
Avoid executing selection twice on ModSelectOverlay load
2021-02-10 15:13:09 +09:00
Dean Herbert
75bc9f607e
Rename wrongly named method
2021-02-10 14:55:15 +09:00
Dean Herbert
bf239f8bef
Flush animation on closing mod overlay
2021-02-04 19:12:37 +09:00
Dean Herbert
f23ca7c7cf
Centralise selection animation logic
2021-02-04 18:10:55 +09:00
Dean Herbert
4bfe3aabdc
Simplify sound debounce logic
2021-02-04 17:06:11 +09:00
smoogipoo
f25535548a
Fix buzzing on select all/deselect all
2021-02-02 21:20:16 +09:00
smoogipoo
643c0605d8
Implement the freemod selection overlay
2021-02-02 21:14:38 +09:00
smoogipoo
8b3a85daa7
Merge branch 'refactor-mod-sections' into freemod-select-overlay
2021-02-02 21:09:51 +09:00
smoogipoo
728f8599b2
Move incompatible mod deselection to SoloModOverlay
2021-02-02 21:06:32 +09:00
smoogipoo
e58ece9e10
Make ModSelectOverlay abstract
2021-02-02 21:06:04 +09:00
smoogipoo
50e92bd0ed
Fix selection not being preserved when IsValidMod changes
2021-02-02 20:50:54 +09:00