Commit Graph

16 Commits

Author SHA1 Message Date
Salman Ahmed 074a691635 Set keyboard step to `0.1` for difficulty adjust sliders 2022-02-02 17:43:08 +03:00
Dean Herbert 7f65f3a47f Remove all usage of `BaseDifficulty` (and access `Difficulty` instead) 2022-01-18 22:57:39 +09:00
Dean Herbert 51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Salman Ahmed 84637b59ef Define `DifficultyBindableWithCurrent` and use in `SliderControl` 2021-08-25 07:40:41 +03:00
Salman Ahmed 8c5d99ab21 Override `CreateInstance()` in osu! bindable subclasses
Three bindables are left which don't have this overriden due to them
already not having a value-only constructor and not supporting
`GetBoundCopy()` properly:
 - `BeatmapDifficultyCache.BindableStarDifficulty`.
 - `TotalScoreBindable`
 - `TotalScoreStringBindable`

I could add support for them by passing the required data to them, as
they seem to be able to have that shared, but I'm hesitant to support
something which was already broken and never used, not sure.
2021-08-18 04:19:58 +03:00
Salman Ahmed 855fff1486 Fix `DifficultyAdjustSettingsControl.SliderControl` not following up with the current pattern
This was causing any `ValueChanged` event bind (such as the one in
`SettingsItem` to invoke `SettingsChanged`) to be overwritten when
`Current` is set afterwards.
2021-08-16 12:47:58 +03:00
Bartłomiej Dach 32b4f5fbd6 Do not store direct references to original bindable
`DifficultyAdjustSettingsControl` and its inner `SliderControl` were
holding different references to `DifficultyBindable`s from the
difficulty adjust mod, therefore leading to bindings being lost to the
framework-side automatic unbind logic if the mod was toggled off and
back on in rapid succession.

Resolve by adding a shadowed implementation of `GetBoundCopy()` and
using it to isolate the controls from the mod bindable.
2021-07-11 15:28:13 +02:00
Dean Herbert 741062a6da Simplify bindable update methods 2021-07-09 13:58:44 +09:00
Dean Herbert e0277763d0 Refactor `DifficultyAdjustSettingsControl` to help with readability 2021-07-09 13:50:07 +09:00
Dean Herbert f9cd7f10d8 Allow null values for `ReadCurrentFromDifficulty`
As long as this isn't a constructor parameter it feels best to
gracefully handle omission. Realistically having it in the ctor is the
best move, but it doesn't feel great in line with the other parameters
passed in via object initalisers.
2021-07-09 13:26:01 +09:00
Dean Herbert 90326f8864 Standardise variables 2021-07-09 13:24:26 +09:00
Dean Herbert b7803b889e Rename control class to be more descriptive 2021-07-08 20:37:38 +09:00
Dean Herbert 52ea62e3b2 Add more comments and xmldoc 2021-07-08 17:49:00 +09:00
Dean Herbert bd7c334588 Avoid the need for per-settings control classes 2021-07-08 17:49:00 +09:00
Dean Herbert a6e94dd491 Add back extended limits support 2021-07-08 17:49:00 +09:00
Dean Herbert c4313d6e96 Initial implementation of new flow (only working for approach rate) 2021-07-08 17:48:08 +09:00