mirror of
https://github.com/ppy/osu.git
synced 2025-02-20 04:23:14 +08:00
Replace several usages of BeginDelayedSequence with LINQ-style
This commit is contained in:
parent
71105bb9ee
commit
99221260c4
@ -1 +1 @@
|
||||
Subproject commit 0bdb38e12e99716e563d27035737ba167d17763d
|
||||
Subproject commit c2a20bd8b31144c6d196ab6ae0e8858acabbe032
|
@ -60,12 +60,12 @@ namespace osu.Desktop.VisualTests.Tests
|
||||
base.LoadComplete();
|
||||
|
||||
// Move box along a square trajectory
|
||||
container.Loop(b => b
|
||||
container
|
||||
.MoveTo(new Vector2(0, 100), duration)
|
||||
.Then().MoveTo(new Vector2(100, 100), duration)
|
||||
.Then().MoveTo(new Vector2(100, 0), duration)
|
||||
.Then().MoveTo(Vector2.Zero, duration)
|
||||
);
|
||||
.Loop();
|
||||
}
|
||||
|
||||
private class MyContextMenuContainer : Container, IHasContextMenu
|
||||
|
@ -112,14 +112,12 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
|
||||
{
|
||||
double duration = ((HitObject as IHasEndTime)?.EndTime ?? HitObject.StartTime) - HitObject.StartTime;
|
||||
|
||||
using (glow.BeginDelayedSequence(duration))
|
||||
glow.FadeOut(400);
|
||||
glow.Delay(duration).FadeOut(400);
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case ArmedState.Idle:
|
||||
using (BeginDelayedSequence(duration + TIME_PREEMPT))
|
||||
this.FadeOut(TIME_FADEOUT);
|
||||
this.Delay(duration + TIME_PREEMPT).FadeOut(TIME_FADEOUT);
|
||||
Expire(true);
|
||||
break;
|
||||
case ArmedState.Miss:
|
||||
@ -131,23 +129,13 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
|
||||
ApproachCircle.FadeOut(50);
|
||||
|
||||
const double flash_in = 40;
|
||||
|
||||
flash.FadeTo(0.8f, flash_in);
|
||||
using (flash.BeginDelayedSequence(flash_in))
|
||||
flash.FadeOut(100);
|
||||
|
||||
flash.FadeTo(0.8f, flash_in).Then().FadeOut(100);
|
||||
explode.FadeIn(flash_in);
|
||||
|
||||
using (BeginDelayedSequence(flash_in, true))
|
||||
{
|
||||
//after the flash, we can hide some elements that were behind it
|
||||
ring.FadeOut();
|
||||
circle.FadeOut();
|
||||
number.FadeOut();
|
||||
|
||||
this.FadeOut(800);
|
||||
this.ScaleTo(Scale * 1.5f, 400, EasingTypes.OutQuad);
|
||||
}
|
||||
ring.Delay(flash_in).FadeOut();
|
||||
circle.Delay(flash_in).FadeOut();
|
||||
number.Delay(flash_in).FadeOut();
|
||||
this.Delay(flash_in).FadeOut(800).ScaleTo(Scale * 1.5f, 400, EasingTypes.OutQuad);
|
||||
|
||||
Expire();
|
||||
break;
|
||||
|
@ -147,9 +147,8 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
||||
|
||||
var completion = (float)userHits / HitObject.RequiredHits;
|
||||
|
||||
expandingRing.FadeTo(expandingRing.Alpha + MathHelper.Clamp(completion / 16, 0.1f, 0.6f), 50);
|
||||
using (expandingRing.BeginDelayedSequence(50))
|
||||
expandingRing.FadeTo(completion / 8, 2000, EasingTypes.OutQuint);
|
||||
expandingRing.FadeTo(expandingRing.Alpha + MathHelper.Clamp(completion / 16, 0.1f, 0.6f), 50)
|
||||
.Then().FadeTo(completion / 8, 2000, EasingTypes.OutQuint);
|
||||
|
||||
symbol.RotateTo((float)(completion * HitObject.Duration / 8), 4000, EasingTypes.OutQuint);
|
||||
|
||||
|
@ -166,9 +166,8 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables.Pieces
|
||||
|
||||
double duration = timingPoint.BeatLength * 2;
|
||||
|
||||
background.FadeEdgeEffectTo(1, pre_beat_transition_time, EasingTypes.OutQuint);
|
||||
using (background.BeginDelayedSequence(pre_beat_transition_time))
|
||||
background.FadeEdgeEffectTo(edge_alpha_kiai, duration, EasingTypes.OutQuint);
|
||||
background.FadeEdgeEffectTo(1, pre_beat_transition_time, EasingTypes.OutQuint)
|
||||
.Then().FadeEdgeEffectTo(edge_alpha_kiai, duration, EasingTypes.OutQuint);
|
||||
}
|
||||
}
|
||||
}
|
@ -86,11 +86,7 @@ namespace osu.Game.Graphics.Cursor
|
||||
this.FadeIn(500, EasingTypes.OutQuint);
|
||||
}
|
||||
|
||||
protected override void PopOut()
|
||||
{
|
||||
using (BeginDelayedSequence(150))
|
||||
this.FadeOut(500, EasingTypes.OutQuint);
|
||||
}
|
||||
protected override void PopOut() => this.Delay(150).FadeOut(500, EasingTypes.OutQuint);
|
||||
|
||||
public override void Move(Vector2 pos)
|
||||
{
|
||||
|
@ -133,12 +133,8 @@ namespace osu.Game.Graphics.UserInterface
|
||||
star.ClearTransforms(true);
|
||||
|
||||
var delay = (countStars <= newValue ? Math.Max(i - countStars, 0) : Math.Max(countStars - 1 - i, 0)) * animationDelay;
|
||||
|
||||
using (BeginDelayedSequence(delay, true))
|
||||
{
|
||||
star.FadeTo(i < newValue ? 1.0f : minStarAlpha, fadingDuration);
|
||||
star.Icon.ScaleTo(getStarScale(i, newValue), scalingDuration, scalingEasing);
|
||||
}
|
||||
star.Delay(delay).FadeTo(i < newValue ? 1.0f : minStarAlpha, fadingDuration);
|
||||
star.Icon.Delay(delay).ScaleTo(getStarScale(i, newValue), scalingDuration, scalingEasing);
|
||||
|
||||
i++;
|
||||
}
|
||||
|
@ -245,9 +245,8 @@ namespace osu.Game.Graphics.UserInterface
|
||||
|
||||
if (beatIndex < 0) return;
|
||||
|
||||
icon.ScaleTo(1 - 0.1f * amplitudeAdjust, beat_in_time, EasingTypes.Out);
|
||||
using (icon.BeginDelayedSequence(beat_in_time))
|
||||
icon.ScaleTo(1, beatLength * 2, EasingTypes.OutQuint);
|
||||
icon.ScaleTo(1 - 0.1f * amplitudeAdjust, beat_in_time, EasingTypes.Out)
|
||||
.Then().ScaleTo(1, beatLength * 2, EasingTypes.OutQuint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -204,25 +204,31 @@ namespace osu.Game.Overlays
|
||||
|
||||
using (BeginDelayedSequence(200, true))
|
||||
{
|
||||
disc.FadeIn(initial_duration);
|
||||
disc.FadeIn(initial_duration).ScaleTo(1f, initial_duration * 2, EasingTypes.OutElastic);
|
||||
particleContainer.FadeIn(initial_duration);
|
||||
outerSpin.FadeTo(0.1f, initial_duration * 2);
|
||||
disc.ScaleTo(1f, initial_duration * 2, EasingTypes.OutElastic);
|
||||
|
||||
using (BeginDelayedSequence(initial_duration + 200, true))
|
||||
{
|
||||
backgroundStrip.FadeIn(step_duration);
|
||||
leftStrip.ResizeWidthTo(1f, step_duration, EasingTypes.OutQuint);
|
||||
rightStrip.ResizeWidthTo(1f, step_duration, EasingTypes.OutQuint);
|
||||
Schedule(() => { if (drawableMedal.State != DisplayState.Full) drawableMedal.State = DisplayState.Icon; });
|
||||
|
||||
using (BeginDelayedSequence(step_duration, true))
|
||||
this.Animate().Schedule(() =>
|
||||
{
|
||||
Schedule(() => { if (drawableMedal.State != DisplayState.Full) drawableMedal.State = DisplayState.MedalUnlocked; });
|
||||
|
||||
using (BeginDelayedSequence(step_duration, true))
|
||||
Schedule(() => { if (drawableMedal.State != DisplayState.Full) drawableMedal.State = DisplayState.Full; });
|
||||
}
|
||||
if (drawableMedal.State != DisplayState.Full)
|
||||
drawableMedal.State = DisplayState.Icon;
|
||||
})
|
||||
.Delay(step_duration).Schedule(() =>
|
||||
{
|
||||
if (drawableMedal.State != DisplayState.Full)
|
||||
drawableMedal.State = DisplayState.MedalUnlocked;
|
||||
})
|
||||
.Delay(step_duration).Schedule(() =>
|
||||
{
|
||||
if (drawableMedal.State != DisplayState.Full)
|
||||
drawableMedal.State = DisplayState.Full;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -147,20 +147,17 @@ namespace osu.Game.Overlays.MedalSplash
|
||||
medalContainer.ScaleTo(0);
|
||||
break;
|
||||
case DisplayState.Icon:
|
||||
medalContainer.ScaleTo(1, duration, EasingTypes.OutElastic);
|
||||
medalContainer.FadeIn(duration);
|
||||
medalContainer.FadeIn(duration).ScaleTo(1, duration, EasingTypes.OutElastic);
|
||||
break;
|
||||
case DisplayState.MedalUnlocked:
|
||||
medalContainer.ScaleTo(1);
|
||||
medalContainer.Show();
|
||||
medalContainer.FadeTo(1).ScaleTo(1);
|
||||
|
||||
this.ScaleTo(scale_when_unlocked, duration, EasingTypes.OutExpo);
|
||||
this.MoveToY(MedalOverlay.DISC_SIZE / 2 - 30, duration, EasingTypes.OutExpo);
|
||||
unlocked.FadeInFromZero(duration);
|
||||
break;
|
||||
case DisplayState.Full:
|
||||
medalContainer.ScaleTo(1);
|
||||
medalContainer.Show();
|
||||
medalContainer.FadeTo(1).ScaleTo(1);
|
||||
|
||||
this.ScaleTo(scale_when_full, duration, EasingTypes.OutExpo);
|
||||
this.MoveToY(MedalOverlay.DISC_SIZE / 2 - 60, duration, EasingTypes.OutExpo);
|
||||
|
@ -81,11 +81,8 @@ namespace osu.Game.Overlays.Mods
|
||||
backgroundIcon.Icon = modAfter.Icon;
|
||||
using (BeginDelayedSequence(mod_switch_duration, true))
|
||||
{
|
||||
foregroundIcon.RotateTo(-rotate_angle * direction);
|
||||
foregroundIcon.RotateTo(0f, mod_switch_duration, mod_switch_easing);
|
||||
|
||||
backgroundIcon.RotateTo(rotate_angle * direction);
|
||||
backgroundIcon.RotateTo(0f, mod_switch_duration, mod_switch_easing);
|
||||
foregroundIcon.RotateTo(-rotate_angle * direction).RotateTo(0f, mod_switch_duration, mod_switch_easing);
|
||||
backgroundIcon.RotateTo(rotate_angle * direction).RotateTo(0f, mod_switch_duration, mod_switch_easing);
|
||||
|
||||
Schedule(() => displayMod(modAfter));
|
||||
}
|
||||
|
@ -154,14 +154,11 @@ namespace osu.Game.Overlays
|
||||
textLine2.Text = settingValue;
|
||||
textLine3.Text = shortcut.ToUpper();
|
||||
|
||||
box.FadeIn(500, EasingTypes.OutQuint);
|
||||
box.ResizeHeightTo(height, 500, EasingTypes.OutQuint);
|
||||
|
||||
using (box.BeginDelayedSequence(500))
|
||||
{
|
||||
box.FadeOutFromOne(1500, EasingTypes.InQuint);
|
||||
box.ResizeHeightTo(height_contracted, 1500, EasingTypes.InQuint);
|
||||
}
|
||||
box.Animate(
|
||||
b => b.FadeIn(500, EasingTypes.OutQuint).ResizeHeightTo(height, 500, EasingTypes.OutQuint)
|
||||
).Then(
|
||||
b => b.FadeOutFromOne(1500, EasingTypes.InQuint).ResizeHeightTo(height_contracted, 1500, EasingTypes.InQuint)
|
||||
);
|
||||
|
||||
int optionCount = 0;
|
||||
int selectedOption = -1;
|
||||
|
@ -130,14 +130,11 @@ namespace osu.Game.Screens.Menu
|
||||
|
||||
icon.RotateTo(rightward ? 10 : -10, duration * 2, EasingTypes.InOutSine);
|
||||
|
||||
icon.MoveToY(-10, duration, EasingTypes.Out);
|
||||
icon.ScaleTo(Vector2.One, duration, EasingTypes.Out);
|
||||
|
||||
using (icon.BeginDelayedSequence(duration))
|
||||
{
|
||||
icon.MoveToY(0, duration, EasingTypes.In);
|
||||
icon.ScaleTo(new Vector2(1, 0.9f), duration, EasingTypes.In);
|
||||
}
|
||||
icon.Animate(
|
||||
i => i.MoveToY(-10, duration, EasingTypes.Out).ScaleTo(1, duration, EasingTypes.Out)
|
||||
).Then(
|
||||
i => i.MoveToY(0, duration, EasingTypes.In).ScaleTo(new Vector2(1, 0.9f), duration, EasingTypes.In)
|
||||
);
|
||||
}
|
||||
|
||||
protected override bool OnHover(InputState state)
|
||||
|
@ -229,11 +229,7 @@ namespace osu.Game.Screens.Menu
|
||||
buttonAreaBackground.ScaleTo(Vector2.One, 500, EasingTypes.Out);
|
||||
buttonArea.FadeOut(300);
|
||||
|
||||
using (osuLogo.BeginDelayedSequence(150))
|
||||
{
|
||||
osuLogo.MoveTo(Vector2.Zero, 800, EasingTypes.OutExpo);
|
||||
osuLogo.ScaleTo(1, 800, EasingTypes.OutExpo);
|
||||
}
|
||||
osuLogo.Delay(150).ScaleTo(1, 800, EasingTypes.OutExpo).MoveTo(Vector2.Zero, 800, EasingTypes.OutExpo);
|
||||
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Contracted;
|
||||
|
@ -90,9 +90,8 @@ namespace osu.Game.Screens.Menu
|
||||
|
||||
private void flash(Drawable d, double beatLength, bool kiai, TrackAmplitudes amplitudes)
|
||||
{
|
||||
d.FadeTo(Math.Max(0, ((d.Equals(leftBox) ? amplitudes.LeftChannel : amplitudes.RightChannel) - amplitude_dead_zone) / (kiai ? kiai_multiplier : alpha_multiplier)), box_fade_in_time);
|
||||
using (d.BeginDelayedSequence(box_fade_in_time))
|
||||
d.FadeOut(beatLength, EasingTypes.In);
|
||||
d.FadeTo(Math.Max(0, ((d.Equals(leftBox) ? amplitudes.LeftChannel : amplitudes.RightChannel) - amplitude_dead_zone) / (kiai ? kiai_multiplier : alpha_multiplier)), box_fade_in_time)
|
||||
.Then().FadeOut(beatLength, EasingTypes.In);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -237,34 +237,23 @@ namespace osu.Game.Screens.Menu
|
||||
if (beatIndex < 0) return;
|
||||
|
||||
if (IsHovered)
|
||||
{
|
||||
using (BeginDelayedSequence(early_activation))
|
||||
Schedule(() => sampleBeat.Play());
|
||||
}
|
||||
this.Delay(early_activation).Schedule(() => sampleBeat.Play());
|
||||
|
||||
logoBeatContainer.ScaleTo(1 - 0.02f * amplitudeAdjust, early_activation, EasingTypes.Out);
|
||||
using (logoBeatContainer.BeginDelayedSequence(early_activation))
|
||||
logoBeatContainer.ScaleTo(1, beatLength * 2, EasingTypes.OutQuint);
|
||||
logoBeatContainer.ScaleTo(1 - 0.02f * amplitudeAdjust, early_activation, EasingTypes.Out)
|
||||
.Then().ScaleTo(1, beatLength * 2, EasingTypes.OutQuint);
|
||||
|
||||
ripple.ClearTransforms();
|
||||
|
||||
ripple.ScaleTo(logoAmplitudeContainer.Scale);
|
||||
ripple.Alpha = 0.15f * amplitudeAdjust;
|
||||
|
||||
ripple.ScaleTo(logoAmplitudeContainer.Scale * (1 + 0.04f * amplitudeAdjust), beatLength, EasingTypes.OutQuint);
|
||||
ripple.FadeOut(beatLength, EasingTypes.OutQuint);
|
||||
ripple.ScaleTo(logoAmplitudeContainer.Scale).ScaleTo(logoAmplitudeContainer.Scale * (1 + 0.04f * amplitudeAdjust), beatLength, EasingTypes.OutQuint);
|
||||
ripple.FadeTo(0.15f * amplitudeAdjust).FadeOut(beatLength, EasingTypes.OutQuint);
|
||||
|
||||
if (effectPoint.KiaiMode && flashLayer.Alpha < 0.4f)
|
||||
{
|
||||
flashLayer.ClearTransforms();
|
||||
visualizer.ClearTransforms();
|
||||
|
||||
flashLayer.FadeTo(0.2f * amplitudeAdjust, early_activation, EasingTypes.Out);
|
||||
visualizer.FadeTo(0.9f * amplitudeAdjust, early_activation, EasingTypes.Out);
|
||||
using (flashLayer.BeginDelayedSequence(early_activation))
|
||||
flashLayer.FadeOut(beatLength);
|
||||
using (visualizer.BeginDelayedSequence(early_activation))
|
||||
visualizer.FadeTo(0.5f, beatLength);
|
||||
flashLayer.FadeTo(0.2f * amplitudeAdjust, early_activation, EasingTypes.Out).Then().FadeOut(beatLength);
|
||||
visualizer.FadeTo(0.9f * amplitudeAdjust, early_activation, EasingTypes.Out).Then().FadeTo(0.5f, beatLength);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -98,10 +98,7 @@ namespace osu.Game.Screens.Play
|
||||
|
||||
// in the case a replay isn't loaded, we want some elements to only appear briefly.
|
||||
if (!replayLoaded)
|
||||
{
|
||||
using (ModDisplay.BeginDelayedSequence(2000))
|
||||
ModDisplay.FadeOut(200);
|
||||
}
|
||||
ModDisplay.Delay(2000).FadeOut(200);
|
||||
}
|
||||
|
||||
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
|
||||
|
@ -272,19 +272,14 @@ namespace osu.Game.Screens.Play
|
||||
|
||||
dimLevel.ValueChanged += newDim => Background?.FadeTo(1 - (float)newDim, 800);
|
||||
|
||||
Content.ScaleTo(0.7f);
|
||||
Content.ScaleTo(0.7f).ScaleTo(1, 750, EasingTypes.OutQuint);
|
||||
Content.Delay(250).FadeIn(250);
|
||||
|
||||
using (Content.BeginDelayedSequence(250))
|
||||
Content.FadeIn(250);
|
||||
|
||||
Content.ScaleTo(1, 750, EasingTypes.OutQuint);
|
||||
|
||||
using (BeginDelayedSequence(750))
|
||||
Schedule(() =>
|
||||
{
|
||||
if (!pauseContainer.IsPaused)
|
||||
decoupledClock.Start();
|
||||
});
|
||||
this.Delay(750).Schedule(() =>
|
||||
{
|
||||
if (!pauseContainer.IsPaused)
|
||||
decoupledClock.Start();
|
||||
});
|
||||
|
||||
pauseContainer.Alpha = 0;
|
||||
pauseContainer.FadeIn(750, EasingTypes.OutQuint);
|
||||
|
@ -67,20 +67,16 @@ namespace osu.Game.Screens.Ranking
|
||||
modeChangeButtons.FadeOut();
|
||||
currentPage.FadeOut();
|
||||
|
||||
circleOuterBackground.ScaleTo(1, transition_time, EasingTypes.OutQuint);
|
||||
circleOuterBackground.FadeTo(1, transition_time, EasingTypes.OutQuint);
|
||||
circleOuterBackground.FadeIn(transition_time, EasingTypes.OutQuint).ScaleTo(1, transition_time, EasingTypes.OutQuint);
|
||||
|
||||
using (BeginDelayedSequence(transition_time * 0.25f, true))
|
||||
{
|
||||
circleOuter.ScaleTo(1, transition_time, EasingTypes.OutQuint);
|
||||
circleOuter.FadeTo(1, transition_time, EasingTypes.OutQuint);
|
||||
circleOuter.FadeIn(transition_time, EasingTypes.OutQuint).ScaleTo(1, transition_time, EasingTypes.OutQuint);
|
||||
|
||||
using (BeginDelayedSequence(transition_time * 0.3f, true))
|
||||
{
|
||||
backgroundParallax.FadeIn(transition_time, EasingTypes.OutQuint);
|
||||
|
||||
circleInner.ScaleTo(1, transition_time, EasingTypes.OutQuint);
|
||||
circleInner.FadeTo(1, transition_time, EasingTypes.OutQuint);
|
||||
circleInner.FadeIn(transition_time, EasingTypes.OutQuint).ScaleTo(1, transition_time, EasingTypes.OutQuint);
|
||||
|
||||
using (BeginDelayedSequence(transition_time * 0.4f, true))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user