1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 19:22:54 +08:00

Reorganise drawables and transforms to make more sequential sense

This commit is contained in:
Dean Herbert 2022-11-03 14:21:22 +09:00
parent 304f6f0418
commit 62660ec92f

View File

@ -98,28 +98,6 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
AlwaysPresent = true,
}
},
new Container
{
Name = @"Ring",
Masking = true,
RelativeSizeAxes = Axes.Both,
Children = new[]
{
new ArgonSpinnerRingArc
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Name = "Top Arc",
},
new ArgonSpinnerRingArc
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Name = "Bottom Arc",
Scale = new Vector2(1, -1),
},
}
},
ticksContainer = new Container
{
Anchor = Anchor.Centre,
@ -130,6 +108,29 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
},
},
new Container
{
Name = @"Ring",
Masking = true,
RelativeSizeAxes = Axes.Both,
Padding = new MarginPadding(8f),
Children = new[]
{
new ArgonSpinnerRingArc
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Name = "Top Arc",
},
new ArgonSpinnerRingArc
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Name = "Bottom Arc",
Scale = new Vector2(1, -1),
},
}
},
new Container
{
Name = @"Sides",
RelativeSizeAxes = Axes.Both,
@ -226,6 +227,8 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
{
this.ScaleTo(initial_scale);
ticksContainer.RotateTo(0);
centre.ScaleTo(0);
disc.ScaleTo(0);
using (BeginDelayedSequence(spinner.TimePreempt / 2))
{
@ -233,27 +236,6 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
ticksContainer.RotateTo((float)(25 * spinner.Duration / 2000), spinner.TimePreempt + spinner.Duration);
}
using (BeginDelayedSequence(spinner.TimePreempt + spinner.Duration + drawableHitObject.Result.TimeOffset))
{
switch (state)
{
case ArmedState.Hit:
this.ScaleTo(initial_scale * 1.2f, 320, Easing.Out);
ticksContainer.RotateTo(ticksContainer.Rotation + 180, 320);
break;
case ArmedState.Miss:
this.ScaleTo(initial_scale * 0.8f, 320, Easing.In);
break;
}
}
}
using (BeginAbsoluteSequence(spinner.StartTime - spinner.TimePreempt))
{
centre.ScaleTo(0);
disc.ScaleTo(0);
using (BeginDelayedSequence(spinner.TimePreempt / 2))
{
centre.ScaleTo(0.3f, spinner.TimePreempt / 4, Easing.OutQuint);
@ -265,6 +247,21 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
disc.ScaleTo(1, spinner.TimePreempt / 2, Easing.OutQuint);
}
}
using (BeginDelayedSequence(spinner.TimePreempt + spinner.Duration + drawableHitObject.Result.TimeOffset))
{
switch (state)
{
case ArmedState.Hit:
disc.ScaleTo(initial_scale * 1.2f, 320, Easing.Out);
ticksContainer.RotateTo(ticksContainer.Rotation + 180, 320);
break;
case ArmedState.Miss:
disc.ScaleTo(initial_scale * 0.8f, 320, Easing.In);
break;
}
}
}
if (drawableSpinner.Result?.TimeStarted != null)