1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 23:13:20 +08:00
Commit Graph

472 Commits

Author SHA1 Message Date
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 ModColumns 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
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