mirror of
https://github.com/ppy/osu.git
synced 2025-01-26 20:23:00 +08:00
Explicitly set lifetime to ensure empty drawables are cleaned up
This commit is contained in:
parent
0387d994bd
commit
be4735cd2b
@ -116,8 +116,9 @@ namespace osu.Game.Rulesets.Taiko.Skinning
|
||||
|
||||
case TaikoSkinComponents.TaikoExplosionKiai:
|
||||
// suppress the default kiai explosion if the skin brings its own sprites.
|
||||
// the drawable needs to expire as soon as possible to avoid accumulating empty drawables on the playfield.
|
||||
if (hasExplosion.Value)
|
||||
return Drawable.Empty();
|
||||
return KiaiHitExplosion.EmptyExplosion();
|
||||
|
||||
return null;
|
||||
|
||||
|
@ -43,5 +43,11 @@ namespace osu.Game.Rulesets.Taiko.UI
|
||||
{
|
||||
Child = skinnable = new SkinnableDrawable(new TaikoSkinComponent(TaikoSkinComponents.TaikoExplosionKiai), _ => new DefaultKiaiHitExplosion(hitType));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Helper function to use when an explosion is not desired.
|
||||
/// Lifetime is set to avoid accumulating empty drawables in the parent container.
|
||||
/// </summary>
|
||||
public static Drawable EmptyExplosion() => Empty().With(d => d.LifetimeEnd = double.MinValue);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user