Dean Herbert
1593f05ff3
Tidy up checkbox implementation
2022-05-17 15:55:53 +09:00
Dean Herbert
13e70eab51
Allow cancellation of count operations and bypassing interactive location logic
2022-05-17 15:55:53 +09:00
Dean Herbert
1666d13d26
Add item counts to import screen
2022-05-17 15:55:53 +09:00
Dean Herbert
4412fec41a
Add import from stable screen
2022-05-17 15:55:52 +09:00
Dean Herbert
ef5b2233d7
Improve the first run progress button to show loading and completion status
2022-05-17 15:23:13 +09:00
Dan Balasescu
a633501687
Change FilterTerms to use LocalisableString
2022-05-16 14:09:37 +09:00
Jai Sharma
ae5b6c3e10
Use dummy channel to show selector and remove ChannelListSelector
...
Add dummy channel `DummySelectorChannel` which should be set as the
current channel in the channel manager when the selector in the chat
overlay should be shown.
Refactors the `ChannelListItem` to not show mention pill and close
button when the channel is the dummy selector channel.
Ensure that the `ChannelList` selects the dummy channel on clicking the
selector item.
Removes `ChannelListSelector` as it is no longer needed.
Removes the `setCurrent` parameter from `ChannelManager.JoinChannel`
method as it is no longer needed.
2022-05-15 20:24:49 +01: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
328561f5c8
Merge pull request #18263 from frenzibyte/spotlight-beatmap-badge
...
Add support for "spotlight" label in beatmap overlay/listing
2022-05-15 12:32:20 +09:00
Salman Ahmed
4bb06873d5
Move badge hierarchy declaration to constructor for safer access
2022-05-14 21:54:56 +03:00
Dean Herbert
8a01050168
Refactor mod select button initialisation to allow shared usage of deselect button
2022-05-15 03:16:43 +09:00
Salman Ahmed
1878578196
Move todo comment to subclasses
2022-05-14 21:05:34 +03:00
Salman Ahmed
441957e18e
Convert get-only virtual properties to avoid DI order dependency
2022-05-14 21:05:34 +03:00
Salman Ahmed
88ba84ac9c
Replace Pill
with Badge
everywhere
2022-05-14 20:52:38 +03:00
Dean Herbert
a759cf2dab
Add key binding to deselect all mods
...
Defaults to `Backspace`.
2022-05-15 02:51:58 +09:00
Salman Ahmed
2878a6dcbe
Integrate spotlight beatmap badge in info overlay
2022-05-14 19:47:10 +03:00
Salman Ahmed
56d6cb5764
Add "spotlight" beatmap badge
2022-05-14 19:46:50 +03:00
Salman Ahmed
c8bea6273b
Abstractify beatmap badge logic to own class
2022-05-14 19:46:37 +03:00
Jai Sharma
bd68ffa805
Fix textbox focus test in ChatOverlayV2
2022-05-14 12:16:00 +01:00
Jai Sharma
2163a78b7f
Ensure drawable channels removed from the cache are disposed
2022-05-14 00:15:09 +01:00
Jai Sharma
f88e416d1a
Ensure the wrong drawable channel isn't shown after load
2022-05-13 23:39:09 +01:00
Jai Sharma
9f5351e5a1
Add drawable channel caching to new chat overlay
2022-05-12 23:58:41 +01:00
Dean Herbert
8760e5d884
Merge branch 'master' into new-chat-drawable-channel
2022-05-12 22:36:19 +09:00
Dan Balasescu
5f2d9bf04c
Merge pull request #18211 from frenzibyte/audio-adjustment-breakage-alt
...
Fix mods potentially adjusting track while not selected
2022-05-12 15:44:19 +09:00
Salman Ahmed
82c4a5fe9f
Merge branch 'master' into new-chat-visibility-behaviour
2022-05-12 09:04:24 +03:00
Dean Herbert
3d64dc53a6
Merge branch 'master' into audio-adjustment-breakage-alt
2022-05-12 14:18:28 +09:00
Dean Herbert
6ba0760b17
Merge branch 'master' into new-chat-visibility-behaviour
2022-05-12 13:59:35 +09:00
Dean Herbert
1d38e5bd33
Add notes about weird local handling in ChannelListSelector
2022-05-12 13:58:10 +09:00
Dean Herbert
2dfed6eda1
Remove selectorActive
bindable completely
2022-05-12 13:53:57 +09:00
Jai Sharma
db371ab068
Use CurrentChannel == null
to show the channel selector
2022-05-11 22:52:15 +01: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
2266a5c9a0
Remove no-longer-necessary ModColumn.Filter
2022-05-11 22:31:26 +02:00
Bartłomiej Dach
1c0166367d
Fix remaining column operations being coupled to drawables
2022-05-11 22:31:26 +02:00
Bartłomiej Dach
b5a9f1310a
Fix select/deselect all toggle not working correctly after changes
2022-05-11 22:31:26 +02:00
Bartłomiej Dach
52bbce12f1
Fix not being able to set AvailableMods
before loaded
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
e86444c4bf
Hoist ModState
to column level
2022-05-11 22:03:49 +02:00
Bartłomiej Dach
74599c9c62
Use ModState
in mod panels
2022-05-11 22:03:48 +02:00
Bartłomiej Dach
478cfc0b87
Split model class for mod state
2022-05-11 22:03:48 +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
33634cba1e
Remove old mod buttons
2022-05-10 21:58:22 +02:00
Bartłomiej Dach
8b0ece1c09
Remove old mod section
2022-05-10 21:55:54 +02:00
Bartłomiej Dach
dfd97701d7
Remove old mod settings container & related controls
2022-05-10 21:53:42 +02:00
Bartłomiej Dach
128468e13d
Remove old base mod select overlay
2022-05-10 21:52:30 +02:00
Bartłomiej Dach
24c59e2f2f
Remove old user mod select overlay
2022-05-10 21:52:17 +02:00
Salman Ahmed
9446be2511
Remove unnecessary UnbindAdjustments
call
...
It is not necessary given that `CurrentTrack` already removes all adjustments first.
2022-05-10 20:49:44 +03:00
Salman Ahmed
36a7644164
Reinstantiate mod adjustments layer for safety against previous mods
2022-05-10 20:46:33 +03:00
Salman Ahmed
725ff93f34
Define local adjustments component for mods in MusicController
...
Isolates `CurrentTrack` from being directly adjusted by the mod, which could lead to issues depending on how the mod adds adjustments (i.e. `ModTimeRamp`, which adds adjustments based on changes to a setting bindable).
2022-05-10 18:24:29 +03:00
Dan Balasescu
42fe708225
Fix inspection
2022-05-10 19:56:21 +09:00
Dean Herbert
a578f7a406
Force nested screens to load synchronously
2022-05-10 18:21:35 +09:00
Dean Herbert
a93c63b2b5
Add loading spinner when loading first run screens
2022-05-10 18:21:35 +09:00
Dean Herbert
25c6226ca9
Adjust transition length for a more seamless screen change
2022-05-10 18:21:35 +09:00
Dean Herbert
493798ae5e
Fix nested ui scale example screens no longer fitting
2022-05-10 18:21:35 +09:00
Dean Herbert
63b9e01d38
Fix behaviour screen using old style buttons
2022-05-10 18:21:35 +09:00
Dean Herbert
61313b69ec
Standardise font sizes in first run overlay screens
2022-05-10 18:21:35 +09:00
Dean Herbert
e5204e565d
Move horizontal padding to content level to better align scrollbar
2022-05-10 18:21:35 +09:00
Dean Herbert
bcce9c5e67
Limit the width of first run overlay content
2022-05-10 18:21:35 +09:00
Dean Herbert
9aadc274bf
Show first run dialog on first run of the game
2022-05-10 18:21:35 +09:00
Dan Balasescu
8ccf2ee075
Add inline comment
2022-05-10 15:07:08 +09:00
Dan Balasescu
2b7eeadac0
Workaround bad performance when selecting all freemods
2022-05-10 14:48:41 +09:00
Dan Balasescu
886a4815fa
Merge pull request #18180 from frenzibyte/fix-toolbox-double-tap
...
Fix `SettingsToolboxGroup` not clearing transforms before updating autosize
2022-05-10 13:48:02 +09:00
Jai Sharma
2481201a73
Fix selector dismissal behaviour during user actions
2022-05-09 22:58:46 +01:00
Salman Ahmed
96ea4ee7b3
Add explanatory comment
2022-05-09 23:49:05 +03:00
Bartłomiej Dach
626fcd5d35
Merge branch 'master' into column-flow-cq
2022-05-09 19:22:29 +02:00
Jai Sharma
d4cc2bd7dd
Ensure channel selector is dismissed when the current channel is changed
2022-05-09 12:11:25 +01:00
Salman Ahmed
702c6ae658
Fix SettingsToolboxGroup
not clearing transforms before updating autosize
2022-05-09 13:49:31 +03:00
Dean Herbert
1c63c27fdf
Merge branch 'master' into new-chat-drawable-channel
2022-05-09 18:23:00 +09:00
Dan Balasescu
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
Jai Sharma
623e2c94ae
Adjust padding
2022-05-09 00:32:22 +01:00
Jai Sharma
aeb2984989
Move ChatOverlayDrawableChannel
to it's own file
2022-05-09 00:31:22 +01:00
Jai Sharma
5f80e344c3
Update day separator date text to right align against username
2022-05-09 00:15:08 +01:00
Joseph Madamba
21e1f4546a
Fix popup dialog potentially not clicking last button when dismissed
2022-05-08 14:40:30 -07:00
Joseph Madamba
172d14bcc6
Improve code quality of mod column flow container
2022-05-08 11:40:14 -07:00
Bartłomiej Dach
d964b4f23c
Fix uneven spacing when some mod columns are hidden
2022-05-08 15:40:21 +02:00
Bartłomiej Dach
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
Bartłomiej Dach
92ccec20d7
Hide mod columns if all mods within are filtered out
2022-05-08 14:53:59 +02:00
Dean Herbert
b8cb2c1b82
Increase scroll amount slightly
2022-05-08 19:57:03 +09:00
Dean Herbert
778497b9e2
Scroll mod select slightly into view on first display
2022-05-08 18:58:54 +09:00
Bartłomiej Dach
b92d95a17a
Fix mod panels playing samples when hidden at a higher level
2022-05-08 10:39:49 +02:00
Bartłomiej Dach
81ca534f87
Implement ISamplePlaybackDisabler
in mod select
2022-05-08 10:39:49 +02:00
Dean Herbert
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
Jai Sharma
8da7bbd322
Code quality
2022-05-07 23:30:46 +01:00
Jai Sharma
c0643cae75
Create ChatOverlayDaySeparator
and use in ChatOverlayDrawableChannel
2022-05-07 23:24:34 +01:00
Jai Sharma
f4acfbd0df
Change return type of CreateDaySeparator
to Drawable
2022-05-07 22:23:46 +01:00
Jai Sharma
bec28c5b28
Remove virtual ColourInfo
properties from DaySeparator
2022-05-07 22:16:11 +01:00
Bartłomiej Dach
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
Dean Herbert
2278da563e
Add various xmldoc for nested classes
2022-05-08 02:03:28 +09:00
Dean Herbert
03c80d9197
Reorder methods / properties in ModSelectScreen
for legibility
2022-05-08 01:58:37 +09:00
Dean Herbert
1d27ef18dc
Add xmldoc for IsValidMod
2022-05-08 01:49:29 +09:00
Dean Herbert
0d32bf91eb
Hardcode hide key handling in ModSelectScreen
2022-05-08 01:35:11 +09:00
Bartłomiej Dach
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
Bartłomiej Dach
528342411e
Merge branch 'master' into mod-overlay/integration
2022-05-07 13:52:19 +02:00
Bartłomiej Dach
fe69bd7ed9
Merge branch 'master' into change-mod-scroll-behaviour
2022-05-07 13:29:02 +02:00
Bartłomiej Dach
9a56f6db44
Merge branch 'mod-overlay/back-button' into mod-overlay/integration
2022-05-07 13:15:13 +02:00
Bartłomiej Dach
a716f62a6a
Flash back button when keyboard back binding is pressed
2022-05-07 13:01:36 +02:00
Salman Ahmed
d4c9de8596
Move button width in mod select to constant
2022-05-07 13:23:48 +03:00
Salman Ahmed
8ee3fdd0aa
Change mod scrolling behaviour to not scroll horizontally on columns/settings
2022-05-07 12:15:11 +03:00
Bartłomiej Dach
fd75963ca2
Dismiss mod select if select binding is pressed
2022-05-07 11:01:05 +02:00
Bartłomiej Dach
e7e7486a8e
Merge branch 'mod-overlay/back-button' into mod-overlay/integration
2022-05-07 10:59:30 +02:00
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
Dean Herbert
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
Jai Sharma
6fc808be22
Code quality
2022-05-06 23:17:59 +01:00
Jai Sharma
9d62206176
Update new chat overlay day separator colours and spacing
...
Updates the `DaySeparator` component to have separately settable colours
for the text and the lines.
Updates existing overrides of the `DaySeparator` to use the new colour
setter.
Create new `ChatOverlayDrawableChannel` with adjusted spacing and new
`DaySeparator` colours.
2022-05-06 23:06:18 +01: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
Salman Ahmed
1409f8ca96
Merge branch 'master' into fix-toolbox-expansion
2022-05-06 18:00:01 +03: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
e527574ede
Merge branch 'master' into fix-toolbox-expansion
2022-05-06 13:47:36 +02:00
Dean Herbert
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
Bartłomiej Dach
e9d52aa954
Remove not-accessed field
2022-05-06 13:09:37 +02:00
Bartłomiej Dach
a915b7333c
Remove unused using directive
2022-05-06 13:08:54 +02:00
Dean Herbert
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
Dean Herbert
b432885e5f
Tidy up ordering of SettingsToolboxGroup
2022-05-06 19:39:09 +09:00
Dean Herbert
59add66632
Remove unnecessary autosize workaround (was fixed long ago)
2022-05-06 19:39:00 +09:00
Dean Herbert
949e30c4b4
Remove auto-expansion of individual toolbox groups when parent expanding container expands
2022-05-06 19:36:41 +09:00
Bartłomiej Dach
08fd0ea086
Fix click-to-return container still handling hover when inactive
2022-05-06 12:28:53 +02:00
Dean Herbert
be960eb092
Move dangerous hold specification to base class
2022-05-06 14:34:31 +09:00
Dean Herbert
0d8e42b941
Merge branch 'master' into exit-multiplayer-is-dangerous
2022-05-06 14:25:18 +09:00
Jai Sharma
0974de8fb0
Use BindableFloat
for chat height
2022-05-05 23:13:32 +01:00
Jai Sharma
16a6c11bc8
Clamp maximum and minimum height the chat overlay can be resized to
2022-05-05 21:40:37 +01:00
Bartłomiej Dach
34cf4c6a38
Fix mod overlay not closing on toggle hotkey
2022-05-05 22:16:56 +02:00
Bartłomiej Dach
a56eab2c47
Extract interface for overlay management
2022-05-05 22:16:55 +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
9d48bb41c9
Merge branch 'master' into new-chat-overlay
2022-05-05 23:12:31 +09:00
Jai Sharma
5ea6f62951
Ensure RelativePositionAxes
is set in BDL for animations to work
2022-05-05 14:20:33 +01:00
Dan Balasescu
e46f99bdba
Merge branch 'master' into dialog-overlay-thread-woes
2022-05-05 20:57:51 +09:00
Dean Herbert
97221d2ef1
Tidy up initialisation
2022-05-05 19:24:18 +09:00
Dean Herbert
e54f5e2d92
Adjust value change variables to avoid e
usage
2022-05-05 19:22:20 +09:00
Dean Herbert
74505ba166
Remove !
usage (also seems to fix height saving/loading)
2022-05-05 19:22:12 +09:00
Dean Herbert
25ea660b0b
Replace HandlePositionalInput
override with simple hover effect
2022-05-05 19:13:48 +09:00