Fix taiko proxies not receiving the correct lifetimes

This commit is contained in:
smoogipoo 2018-11-15 20:26:12 +09:00
parent 3e2e2a7000
commit e207dd728b
2 changed files with 9 additions and 1 deletions

View File

@ -31,7 +31,7 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
RelativeSizeAxes = Axes.Both, RelativeSizeAxes = Axes.Both,
Child = Content = new Container { RelativeSizeAxes = Axes.Both } Child = Content = new Container { RelativeSizeAxes = Axes.Both }
}, },
proxiedContent = new Container { RelativeSizeAxes = Axes.Both } proxiedContent = new ProxiedContentContainer { RelativeSizeAxes = Axes.Both }
}; };
} }
@ -75,6 +75,12 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
public abstract bool OnPressed(TaikoAction action); public abstract bool OnPressed(TaikoAction action);
public virtual bool OnReleased(TaikoAction action) => false; public virtual bool OnReleased(TaikoAction action) => false;
private class ProxiedContentContainer : Container
{
public override double LifetimeStart => Parent.LifetimeStart;
public override double LifetimeEnd => Parent.LifetimeEnd;
}
} }
public abstract class DrawableTaikoHitObject<TaikoHitType> : DrawableTaikoHitObject public abstract class DrawableTaikoHitObject<TaikoHitType> : DrawableTaikoHitObject

View File

@ -31,6 +31,8 @@ namespace osu.Game.Skinning
public void Play() => channels?.ForEach(c => c.Play()); public void Play() => channels?.ForEach(c => c.Play());
public override bool IsPresent => false; // We don't need to receive updates.
protected override void SkinChanged(ISkinSource skin, bool allowFallback) protected override void SkinChanged(ISkinSource skin, bool allowFallback)
{ {
channels = samples.Select(s => channels = samples.Select(s =>