mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 12:33:01 +08:00
Merge branch 'master' into profile-beatmaps-section
This commit is contained in:
commit
97fc4347e9
@ -1 +1 @@
|
|||||||
Subproject commit 47aabeaee5a8d85a0e6769fd601736f8dc1eb051
|
Subproject commit c95b9350edb6305cfefdf08f902f6f73d336736b
|
@ -76,6 +76,8 @@ namespace osu.Game.Rulesets.UI
|
|||||||
|
|
||||||
#region Clock control
|
#region Clock control
|
||||||
|
|
||||||
|
protected override bool ShouldProcessClock => false; // We handle processing the clock ourselves
|
||||||
|
|
||||||
private ManualClock clock;
|
private ManualClock clock;
|
||||||
private IFrameBasedClock parentClock;
|
private IFrameBasedClock parentClock;
|
||||||
|
|
||||||
@ -151,6 +153,12 @@ namespace osu.Game.Rulesets.UI
|
|||||||
}
|
}
|
||||||
|
|
||||||
requireMoreUpdateLoops = clock.CurrentTime != parentClock.CurrentTime;
|
requireMoreUpdateLoops = clock.CurrentTime != parentClock.CurrentTime;
|
||||||
|
|
||||||
|
// The manual clock time has changed in the above code. The framed clock now needs to be updated
|
||||||
|
// to ensure that the its time is valid for our children before input is processed
|
||||||
|
Clock.ProcessFrame();
|
||||||
|
|
||||||
|
// Process input
|
||||||
base.Update();
|
base.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,22 +144,6 @@ namespace osu.Game.Screens.Play
|
|||||||
userAudioOffset.ValueChanged += v => offsetClock.Offset = v;
|
userAudioOffset.ValueChanged += v => offsetClock.Offset = v;
|
||||||
userAudioOffset.TriggerChange();
|
userAudioOffset.TriggerChange();
|
||||||
|
|
||||||
Task.Run(() =>
|
|
||||||
{
|
|
||||||
adjustableSourceClock.Reset();
|
|
||||||
|
|
||||||
// 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);
|
|
||||||
|
|
||||||
Schedule(() =>
|
|
||||||
{
|
|
||||||
decoupledClock.ChangeSource(adjustableSourceClock);
|
|
||||||
applyRateFromMods();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
storyboardContainer = new Container
|
storyboardContainer = new Container
|
||||||
@ -329,10 +313,26 @@ namespace osu.Game.Screens.Play
|
|||||||
.Delay(250)
|
.Delay(250)
|
||||||
.FadeIn(250);
|
.FadeIn(250);
|
||||||
|
|
||||||
this.Delay(750).Schedule(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
if (!pauseContainer.IsPaused)
|
adjustableSourceClock.Reset();
|
||||||
decoupledClock.Start();
|
|
||||||
|
// 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);
|
||||||
|
|
||||||
|
Schedule(() =>
|
||||||
|
{
|
||||||
|
decoupledClock.ChangeSource(adjustableSourceClock);
|
||||||
|
applyRateFromMods();
|
||||||
|
|
||||||
|
this.Delay(750).Schedule(() =>
|
||||||
|
{
|
||||||
|
if (!pauseContainer.IsPaused)
|
||||||
|
decoupledClock.Start();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
pauseContainer.Alpha = 0;
|
pauseContainer.Alpha = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user