Update clock from base class

This commit is contained in:
smoogipoo 2021-04-14 21:15:14 +09:00
parent 18c69cdaf7
commit f56125bd68
2 changed files with 14 additions and 10 deletions

View File

@ -77,8 +77,18 @@ namespace osu.Game.Screens.Play
Start();
}
protected override void Update()
{
if (!IsPaused.Value)
ClockToProcess.ProcessFrame();
base.Update();
}
protected abstract void OnIsPausedChanged(ValueChangedEvent<bool> isPaused);
protected abstract GameplayClock CreateGameplayClock(IClock source);
protected virtual IFrameBasedClock ClockToProcess => AdjustableClock;
protected abstract GameplayClock CreateGameplayClock(IFrameBasedClock source);
}
}

View File

@ -128,7 +128,9 @@ namespace osu.Game.Screens.Play
Seek(skipTarget);
}
protected override GameplayClock CreateGameplayClock(IClock source)
protected override IFrameBasedClock ClockToProcess => userOffsetClock;
protected override GameplayClock CreateGameplayClock(IFrameBasedClock source)
{
// Lazer's audio timings in general doesn't match stable. This is the result of user testing, albeit limited.
// This only seems to be required on windows. We need to eventually figure out why, with a bit of luck.
@ -140,14 +142,6 @@ namespace osu.Game.Screens.Play
return localGameplayClock = new LocalGameplayClock(userOffsetClock);
}
protected override void Update()
{
if (!IsPaused.Value)
userOffsetClock.ProcessFrame();
base.Update();
}
/// <summary>
/// Changes the backing clock to avoid using the originally provided track.
/// </summary>