mirror of
https://github.com/ppy/osu.git
synced 2024-12-13 08:32:57 +08:00
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.
This commit is contained in:
parent
2411645ad7
commit
8c5d99ab21
@ -41,7 +41,7 @@ namespace osu.Game.Rulesets.Mods
|
||||
{
|
||||
// Intercept and extract the internal number bindable from DifficultyBindable.
|
||||
// This will provide bounds and precision specifications for the slider bar.
|
||||
difficultyBindable = ((DifficultyBindable)value).GetBoundCopy();
|
||||
difficultyBindable = (DifficultyBindable)value.GetBoundCopy();
|
||||
sliderDisplayCurrent.BindTo(difficultyBindable.CurrentNumber);
|
||||
|
||||
base.Current = difficultyBindable;
|
||||
|
@ -128,6 +128,6 @@ namespace osu.Game.Rulesets.Mods
|
||||
ExtendedLimits.UnbindFrom(otherDifficultyBindable.ExtendedLimits);
|
||||
}
|
||||
|
||||
public new DifficultyBindable GetBoundCopy() => new DifficultyBindable { BindTarget = this };
|
||||
protected override Bindable<float?> CreateInstance() => new DifficultyBindable();
|
||||
}
|
||||
}
|
||||
|
@ -41,6 +41,8 @@ namespace osu.Game.Screens.Edit
|
||||
protected override int DefaultMaxValue => VALID_DIVISORS.Last();
|
||||
protected override int DefaultPrecision => 1;
|
||||
|
||||
protected override Bindable<int> CreateInstance() => new BindableBeatDivisor();
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves the appropriate colour for a beat divisor.
|
||||
/// </summary>
|
||||
|
Loading…
Reference in New Issue
Block a user