Remove EffectiveXBindable (setting Value was not handled)

And use orthogonal `OriginalXBindable` and `XOffsetBindable`.
This commit is contained in:
ekrctb
2020-12-14 13:39:07 +09:00
parent 0ad256a762
commit 5b5e883904
4 changed files with 29 additions and 40 deletions

View File

@ -15,7 +15,8 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawables
{
public abstract class DrawableCatchHitObject : DrawableHitObject<CatchHitObject>
{
public readonly Bindable<float> EffectiveXBindable = new Bindable<float>();
public readonly Bindable<float> OriginalXBindable = new Bindable<float>();
public readonly Bindable<float> XOffsetBindable = new Bindable<float>();
protected override double InitialLifetimeOffset => HitObject.TimePreempt;
@ -38,14 +39,16 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawables
{
base.OnApply();
EffectiveXBindable.BindTo(HitObject.EffectiveXBindable);
OriginalXBindable.BindTo(HitObject.OriginalXBindable);
XOffsetBindable.BindTo(HitObject.XOffsetBindable);
}
protected override void OnFree()
{
base.OnFree();
EffectiveXBindable.UnbindFrom(HitObject.EffectiveXBindable);
OriginalXBindable.UnbindFrom(HitObject.OriginalXBindable);
XOffsetBindable.UnbindFrom(HitObject.XOffsetBindable);
}
public Func<CatchHitObject, bool> CheckPosition;