1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 06:52: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)
return false;
HitTime = Time;
HitTime = Time.Current;
State = ArmedState.Armed;
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) });
//set transform delay to t==hitTime
Delay(t - Time, true);
Delay(t - Time.Current, true);
approachCircle.FadeOut();
glow.FadeOut(400);

View File

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

View File

@ -31,9 +31,9 @@ namespace osu.Game.GameModes.Play.Mania
protected override float PopOutInitialAlpha => 1.0f;
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.Origin = Anchor.Centre;

View File

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

View File

@ -70,14 +70,16 @@ namespace osu.Game.Graphics.UserInterface
{
return count;
}
set
{
prevCount = VisibleValue;
count = value;
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();
}