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
Bartłomiej Dach
a80b4334ff
Tweak layout of column display for better spacing
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
53e8072632
Port multiselection from previous design
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
f40bd39487
Add toggle all checkbox to column display
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
2e04a83554
Implement column display for new mod design
2022-02-27 22:51:27 +01:00
Bartłomiej Dach
c189cc5d00
Remove unused using directive
2022-02-24 21:01:37 +01:00
Dean Herbert
435bdd0b4a
Combine and simplify state management logic
...
This makes a few changes to bring things into a better shape during
mouse interactions with the mod panels:
- Dragging away from the panel now works in line with other buttons (ie.
`OsuButton`)
- Hovering now uses a lightened version of the current state, rather
than always using the active colour. I think this feels better.
- Mouse down now uses a transform point of 0.5. This is to give the
button a feeling of one of those latching light switches which resists
until reaching a point of overcoming the spring and switching state. I
think 0.4 (non-active) and 0.6 (from active) may work better, but left
at 0.5 for simplicity of implementation and I think it's good enough?
- Border always uses the gradiented version. I did this for simplicity
of implementation, but also think it looks better.
- Adjusted transform durations to feel better to me.
2022-02-24 15:25:30 +09:00
Bartłomiej Dach
713f89a59c
Implement incompatibility-displaying variant of mod panel
2022-02-23 23:19:06 +01:00
Bartłomiej Dach
bbe2dfa458
Move out incompatibility displaying tooltip to own class
2022-02-23 23:18:15 +01:00
Bartłomiej Dach
8a0aba6c59
Implement mod panel for new mod select screen
2022-02-23 23:18:14 +01:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
cf633973a9
Refactor exposed mod retrieval methods for better safety
2021-09-10 11:09:13 +09:00
Dean Herbert
4d0530ca9d
Add new methods to ruleset for quicker mod lookups
2021-09-09 16:46:14 +09:00
Dean Herbert
9e21f5a59c
Rename LocalPlayer
to User
in mod select prefixes
2021-09-01 17:22:52 +09:00
Dean Herbert
fb5f3fb9af
Rename button to be more descriptive of its purpose
2021-09-01 17:19:38 +09:00
Salman Ahmed
a190801291
Revert no longer required tooltip content changes
2021-08-31 19:36:27 +03:00
Salman Ahmed
9afc482598
Merge branch 'master' into move-incompatibility-icon
2021-08-31 19:27:43 +03:00
Dean Herbert
fa2bf42188
Update tooltip implementations
2021-08-30 16:05:00 +09:00
Salman Ahmed
589f2863ca
Move incompatibility tooltip logic to local player mod select overlays
...
This one turned out to be a bit more involved, due to tooltips being
shared and having the potential of being used somewhere where it
shouldn't be, due to the same content type matching.
That's the reason I've defined a protected `TargetContentType`, to be
able to separate "local player mod tooltips" and regular mod tooltips
apart.
Definitely unsure about the solution, but that's as far as I can think
of right now.
2021-08-28 02:38:46 +03:00
Salman Ahmed
e527bfd4bf
Move incompatibility icon logic to local player mod select overlays
2021-08-28 02:37:46 +03:00
Dean Herbert
c3b7ce0b05
Remove stray newline
2021-08-24 14:02:50 +09:00
Dean Herbert
afd01d22d6
Adjust visuals of incompatible icon and move to own class
2021-08-24 14:01:49 +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
Henry Lin
b8fe03b77f
Use Mod.Equals
for comparison
2021-08-24 09:50:09 +08:00
Henry Lin
6e3d05c7ce
Display an icon to signify incompatibility instead of a red tint
2021-08-24 09:42:53 +08:00
Henry Lin
0bbddd297c
Remove unused code
2021-08-22 11:05:53 +08:00
Henry Lin
e213562b2a
Add a red tint on mods incompatible with the current selection
2021-08-22 11:01:17 +08:00
Henry Lin
ef6faf04be
Use FirstOrDefault in TooltipContent
2021-08-22 10:22:18 +08:00
Henry Lin
3d402d9e78
List incompatible mods in tooltip of mod button
2021-08-22 10:13:34 +08: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
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02: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
b1fd812805
Merge branch 'master' into more-ui-sfx
2021-06-18 23:24:19 +09:00
Jamie Taylor
5ce52b2669
fix ModButton duplicate click sound
2021-06-18 21:41:07 +09:00
Dean Herbert
4de27429bc
Change ModSelectOverlay
to never deselect the user triggered selection
2021-06-18 13:17:55 +09: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
c6ed3efa4a
Merge branch 'master' into non-concurrent-sample-playback
2021-02-15 14:47:32 +09:00
Joehu
982d8e35ed
Fix mod settings showing scrollbar when screen is offset
2021-02-12 10:42:48 -08: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
67c1c4c1eb
Copy settings before applying selection
2021-02-10 15:30:17 +09:00
Dean Herbert
435c85a2e7
Avoid executing selection twice on ModSelectOverlay load
2021-02-10 15:13:09 +09:00
Dean Herbert
a39263423c
Fix externally changed settings from being reset when ModSelectOverlay is initialised
2021-02-10 15:12:29 +09:00
Dean Herbert
75bc9f607e
Rename wrongly named method
2021-02-10 14:55:15 +09:00
Dean Herbert
8204d360a8
Always reset local user settings when a mod is deselected in ModSelectOverlay
2021-02-09 13:44:42 +09:00
Dean Herbert
3e750feaa4
Subclass LocalPlayerModSelectOverlay to correctly deselect incompatible mods on free mod selection
2021-02-05 16:42:35 +09:00
Dean Herbert
0750c3cb6a
Add back immediate deselection flow to ensure user selections can occur without contention
2021-02-04 23:44:46 +09:00
Dean Herbert
8f2f1a444f
Avoid resetting selection on deselecting incompatibile types
2021-02-04 19:55:09 +09:00
Dean Herbert
bf239f8bef
Flush animation on closing mod overlay
2021-02-04 19:12:37 +09:00
Dean Herbert
a2674f3c3f
Add comments
2021-02-04 18:58:56 +09:00
Dean Herbert
223b858227
Ramp the animation speed
2021-02-04 18:56:40 +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
smoogipoo
10ceddf3ff
Make IsValidMod adjustable
2021-02-02 20:47:50 +09:00
smoogipoo
75f81bfa06
Add back mod validation
2021-02-02 20:35:41 +09:00
smoogipoo
6d620264f4
Allow mod buttons to not be stacked
2021-02-02 20:27:41 +09:00
smoogipoo
3741f05ab3
Refactor mod sections and make them overridable
2021-02-02 20:11:40 +09:00
Dean Herbert
a5f3418e56
Avoid tooltip display
2021-01-26 19:11:19 +09:00
Dean Herbert
bb8113fb51
Fix mod select footer not animating correctly on first reveal
2021-01-25 14:47:47 +09:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
Dean Herbert
0b165dce4b
Fix multiplayer mod select showing autoplay as a choice
2021-01-18 17:50:32 +09:00
Salman Ahmed
375ecf92ed
Merge remote-tracking branch 'upstream/master' into fix-mod-buttons-not-copying-settings
2021-01-09 00:26:18 +03:00
Bartłomiej Dach
0cf5be3ef4
Fix selection change event being invoked with wrong mod
2021-01-08 17:02:57 +01:00
Dean Herbert
c208800150
Fix auto selection scenario regressing due to scheduling too much
2021-01-08 14:17:14 +09:00
Dean Herbert
5d8c153c1e
Move schedule logic to buttons rather than section
...
It turns out there's some quite convoluted scheduling / order of
execution requirements of ModSelectOverlay and ModSection. Applying
scheduling causes a runaway condition ending in zero frames after many
mod button changes.
I wanted to avoid rewriting the whole component, so have just moved the
schedule to guard against the part where drawables are actually changed.
2021-01-05 16:41:05 +09:00
Dean Herbert
4d6c13f169
Privatise ModSelectOverlay methods that may be unsafe to be called externally
2021-01-05 16:18:13 +09:00
Dean Herbert
57a8cd7461
Schedule deselection operations for safety
2021-01-05 16:17:58 +09:00
Dean Herbert
962c95dc01
Fix ModSelection making unsafe advances of ModSection
2021-01-05 15:19:37 +09:00
Salman Ahmed
988f9b98a1
Split button mods updating to private method
2021-01-01 16:16:00 +03:00
Salman Ahmed
a031c8e0b6
Apply documentation suggestions
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-01 15:34:09 +03:00
Salman Ahmed
2ce9599957
Copy selected mods properties into overlay's buttons
2021-01-01 03:47:13 +03:00
Dean Herbert
454e94574c
Add corner rounding and positional transform
2020-12-07 16:43:07 +09:00
Dean Herbert
7253866e17
Move customisation panel to be in same area as main content
2020-12-07 16:42:55 +09:00
Joehu
0f9b38da08
Add fade in/out animations to mod settings container
2020-12-06 11:35:14 -08:00
Dean Herbert
28daff1716
Stop mod select overlay hotkeys handling input when control is pressed
...
Closes https://github.com/ppy/osu/issues/10766 in about the best way we
can for now.
2020-11-10 17:57:59 +09:00
Dean Herbert
3e326a9234
Use bindable flow for event propagation
2020-10-14 15:22:17 +09:00
Dean Herbert
24eff8c66d
Rename container to match "settings" term used everywhere
2020-10-14 15:13:49 +09:00
Leon Gebler
3fd913b13f
rename customisation container class
2020-10-13 19:38:25 +02:00