1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 09:32:55 +08:00

Ensure transformations are never used prior to being added to the Drawable tree.

This commit is contained in:
Thomas Müller 2016-11-06 11:13:52 +01:00
parent 32ee20b843
commit 103176826f
8 changed files with 25 additions and 13 deletions

@ -1 +1 @@
Subproject commit 4c8683bcfc024d7c341f3e7bb20661d241f50d0c Subproject commit cbcf8a77afb8fb0fa759c5ee2a798bface6b80b4

View File

@ -52,7 +52,7 @@ namespace osu.Game.Beatmaps.Objects
if (AllowHit?.Invoke(this) == false) if (AllowHit?.Invoke(this) == false)
return false; return false;
HitTime = Time; HitTime = Time.Current;
State = ArmedState.Armed; State = ArmedState.Armed;
return true; return true;

View File

@ -96,7 +96,7 @@ namespace osu.Game.Beatmaps.Objects.Osu.Drawable
approachCircle.Transforms.Add(new TransformScale { StartTime = t - 1000, EndTime = t, StartValue = new Vector2(2f), EndValue = new Vector2(0.6f) }); approachCircle.Transforms.Add(new TransformScale { StartTime = t - 1000, EndTime = t, StartValue = new Vector2(2f), EndValue = new Vector2(0.6f) });
//set transform delay to t==hitTime //set transform delay to t==hitTime
Delay(t - Time, true); Delay(t - Time.Current, true);
approachCircle.FadeOut(); approachCircle.FadeOut();
glow.FadeOut(400); glow.FadeOut(400);

View File

@ -205,8 +205,13 @@ namespace osu.Game.GameModes.Play
private void updateCount(ulong value, bool rolling = false) private void updateCount(ulong value, bool rolling = false)
{ {
ulong prevCount = count;
count = value; count = value;
if (!IsLoaded)
return;
ulong prevCount = count;
if (!rolling) if (!rolling)
{ {
Flush(false, typeof(TransformComboRoll)); Flush(false, typeof(TransformComboRoll));

View File

@ -31,9 +31,9 @@ namespace osu.Game.GameModes.Play.Mania
protected override float PopOutInitialAlpha => 1.0f; protected override float PopOutInitialAlpha => 1.0f;
protected override double PopOutDuration => 300; protected override double PopOutDuration => 300;
protected override void Load(BaseGame game) protected override void LoadComplete()
{ {
base.Load(game); base.LoadComplete();
PopOutSpriteText.Anchor = Anchor.BottomCentre; PopOutSpriteText.Anchor = Anchor.BottomCentre;
PopOutSpriteText.Origin = Anchor.Centre; PopOutSpriteText.Origin = Anchor.Centre;

View File

@ -123,8 +123,6 @@ namespace osu.Game.Graphics.UserInterface
{ {
base.Load(game); base.Load(game);
Flush(false, TransformType);
DisplayedCount = Count; DisplayedCount = Count;
DisplayedCountSpriteText.Text = FormatCount(count); DisplayedCountSpriteText.Text = FormatCount(count);
@ -132,6 +130,13 @@ namespace osu.Game.Graphics.UserInterface
DisplayedCountSpriteText.Origin = this.Origin; DisplayedCountSpriteText.Origin = this.Origin;
} }
protected override void LoadComplete()
{
base.LoadComplete();
Flush(false, TransformType);
}
/// <summary> /// <summary>
/// Sets count value, bypassing rollover animation. /// Sets count value, bypassing rollover animation.
/// </summary> /// </summary>

View File

@ -70,14 +70,16 @@ namespace osu.Game.Graphics.UserInterface
{ {
return count; return count;
} }
set set
{ {
prevCount = VisibleValue;
count = value;
if (IsLoaded) if (IsLoaded)
{ {
transformCount(prevCount, count); prevCount = VisibleValue;
transformCount(prevCount, value);
} }
count = value;
} }
} }

View File

@ -57,9 +57,9 @@ namespace osu.Game.Graphics.UserInterface.Volume
}; };
} }
protected override void Load(BaseGame game) protected override void LoadComplete()
{ {
base.Load(game); base.LoadComplete();
updateFill(); updateFill();
} }