Merge remote-tracking branch 'origin/master' into replay-rewinding

This commit is contained in:
smoogipoo 2017-11-10 22:19:17 +09:00
commit 5816d25358
3 changed files with 25 additions and 14 deletions

View File

@ -119,7 +119,16 @@ protected override void LogoArriving(OsuLogo logo, bool resuming)
logo.FadeIn(100, Easing.OutQuint);
if (resuming)
{
buttons.State = MenuState.TopLevel;
const float length = 300;
Content.FadeIn(length, Easing.OutQuint);
Content.MoveTo(new Vector2(0, 0), length, Easing.OutQuint);
sideFlashes.Delay(length).FadeIn(64, Easing.InQuint);
}
}
protected override void LogoSuspending(OsuLogo logo)
@ -148,7 +157,7 @@ protected override void OnSuspending(Screen next)
Content.FadeOut(length, Easing.InSine);
Content.MoveTo(new Vector2(-800, 0), length, Easing.InSine);
sideFlashes.FadeOut(length / 4, Easing.OutQuint);
sideFlashes.FadeOut(64, Easing.OutQuint);
}
protected override void OnResuming(Screen last)
@ -159,13 +168,6 @@ protected override void OnResuming(Screen last)
//we may have consumed our preloaded instance, so let's make another.
preloadSongSelect();
const float length = 300;
Content.FadeIn(length, Easing.OutQuint);
Content.MoveTo(new Vector2(0, 0), length, Easing.OutQuint);
sideFlashes.FadeIn(length / 4, Easing.InQuint);
}
protected override bool OnExiting(Screen next)

View File

@ -17,6 +17,8 @@
using osu.Game.Screens.Backgrounds;
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using osu.Framework.Threading;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Scoring;
@ -142,14 +144,21 @@ private void load(AudioManager audio, OsuConfigManager config, APIAccess api)
userAudioOffset.ValueChanged += v => offsetClock.Offset = v;
userAudioOffset.TriggerChange();
Schedule(() =>
Task.Run(() =>
{
adjustableSourceClock.Reset();
foreach (var mod in working.Mods.Value.OfType<IApplicableToClock>())
mod.ApplyToClock(adjustableSourceClock);
// this is temporary until we have blocking (async.Wait()) audio component methods.
// then we can call ResetAsync().Wait() or the blocking version above.
while (adjustableSourceClock.IsRunning)
Thread.Sleep(1);
decoupledClock.ChangeSource(adjustableSourceClock);
Schedule(() =>
{
decoupledClock.ChangeSource(adjustableSourceClock);
foreach (var mod in working.Mods.Value.OfType<IApplicableToClock>())
mod.ApplyToClock(adjustableSourceClock);
});
});
Children = new Drawable[]

View File

@ -340,8 +340,8 @@ protected override void LogoArriving(OsuLogo logo, bool resuming)
protected override void LogoExiting(OsuLogo logo)
{
base.LogoExiting(logo);
logo.ScaleTo(0.2f, logo_transition, Easing.OutQuint);
logo.FadeOut(logo_transition, Easing.OutQuint);
logo.ScaleTo(0.2f, logo_transition / 2, Easing.Out);
logo.FadeOut(logo_transition / 2, Easing.Out);
}
private void beatmap_ValueChanged(WorkingBeatmap beatmap)