mirror of https://github.com/ppy/osu
Set `LifetimeEnd` once rather than computing on every access
This commit is contained in:
parent
71edd314b1
commit
91d877e893
|
@ -24,15 +24,6 @@ public abstract class SmokeSegment : Drawable, ITexturedShaderDrawable
|
|||
public IShader? TextureShader { get; private set; }
|
||||
public IShader? RoundedTextureShader { get; private set; }
|
||||
|
||||
public override double LifetimeEnd
|
||||
{
|
||||
get
|
||||
{
|
||||
double initialFadeOutDurationTrunc = Math.Min(initial_fade_out_duration, SmokeEndTime - SmokeStartTime);
|
||||
return SmokeEndTime + final_fade_out_duration + initialFadeOutDurationTrunc / re_fade_in_speed + initialFadeOutDurationTrunc / final_fade_out_speed;
|
||||
}
|
||||
}
|
||||
|
||||
private float? radius;
|
||||
|
||||
protected float Radius
|
||||
|
@ -153,6 +144,9 @@ public void AddPosition(Vector2 position, double time)
|
|||
public void FinishDrawing(double time)
|
||||
{
|
||||
SmokeEndTime = time;
|
||||
|
||||
double initialFadeOutDurationTrunc = Math.Min(initial_fade_out_duration, SmokeEndTime - SmokeStartTime);
|
||||
LifetimeEnd = SmokeEndTime + final_fade_out_duration + initialFadeOutDurationTrunc / re_fade_in_speed + initialFadeOutDurationTrunc / final_fade_out_speed;
|
||||
}
|
||||
|
||||
protected override DrawNode CreateDrawNode() => new SmokeDrawNode(this);
|
||||
|
|
Loading…
Reference in New Issue