diff --git a/osu.Game/Screens/Play/PauseContainer.cs b/osu.Game/Screens/Play/PauseContainer.cs
index b2f2fe2d4c..8827b437ba 100644
--- a/osu.Game/Screens/Play/PauseContainer.cs
+++ b/osu.Game/Screens/Play/PauseContainer.cs
@@ -44,13 +44,13 @@ public class PauseContainer : Container
public Action OnResume;
public Action OnPause;
- public readonly IAdjustableClock SeekableClock;
+ public readonly IAdjustableClock AdjustableClock;
public readonly FramedClock FramedClock;
- public PauseContainer(FramedClock framedClock, IAdjustableClock seekableClock)
+ public PauseContainer(FramedClock framedClock, IAdjustableClock adjustableClock)
{
FramedClock = framedClock;
- SeekableClock = seekableClock;
+ AdjustableClock = adjustableClock;
RelativeSizeAxes = Axes.Both;
@@ -79,7 +79,7 @@ public void Pause(bool force = false) => Schedule(() => // Scheduled to ensure a
if (IsPaused) return;
// stop the seekable clock (stops the audio eventually)
- SeekableClock.Stop();
+ AdjustableClock.Stop();
IsPaused = true;
OnPause?.Invoke();
@@ -98,8 +98,8 @@ public void Resume()
// seek back to the time of the framed clock.
// this accounts for the audio clock potentially taking time to enter a completely stopped state.
- SeekableClock.Seek(FramedClock.CurrentTime);
- SeekableClock.Start();
+ AdjustableClock.Seek(FramedClock.CurrentTime);
+ AdjustableClock.Start();
OnResume?.Invoke();
pauseOverlay.Hide();
diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs
index ce2ae08bed..a2e044b800 100644
--- a/osu.Game/Screens/Play/Player.cs
+++ b/osu.Game/Screens/Play/Player.cs
@@ -61,7 +61,10 @@ public class Player : OsuScreen, IProvideCursor
///
private FramedOffsetClock offsetClock;
- private DecoupleableInterpolatingFramedClock decoupledClock;
+ ///
+ /// The decoupled clock used for gameplay. Should be used for seeks and clock control.
+ ///
+ private DecoupleableInterpolatingFramedClock adjustableClock;
private PauseContainer pauseContainer;
@@ -144,16 +147,16 @@ private void load(AudioManager audio, OsuConfigManager config, APIAccess api)
}
sourceClock = (IAdjustableClock)working.Track ?? new StopwatchClock();
- decoupledClock = new DecoupleableInterpolatingFramedClock { IsCoupled = false };
+ adjustableClock = new DecoupleableInterpolatingFramedClock { IsCoupled = false };
var firstObjectTime = RulesetContainer.Objects.First().StartTime;
- decoupledClock.Seek(AllowLeadIn
+ adjustableClock.Seek(AllowLeadIn
? Math.Min(0, firstObjectTime - Math.Max(beatmap.ControlPointInfo.TimingPointAt(firstObjectTime).BeatLength * 4, beatmap.BeatmapInfo.AudioLeadIn))
: firstObjectTime);
- decoupledClock.ProcessFrame();
+ adjustableClock.ProcessFrame();
- offsetClock = new FramedOffsetClock(decoupledClock);
+ offsetClock = new FramedOffsetClock(adjustableClock);
userAudioOffset = config.GetBindable(OsuSetting.AudioOffset);
userAudioOffset.ValueChanged += v => offsetClock.Offset = v;
@@ -163,7 +166,7 @@ private void load(AudioManager audio, OsuConfigManager config, APIAccess api)
Children = new Drawable[]
{
- pauseContainer = new PauseContainer(offsetClock, decoupledClock)
+ pauseContainer = new PauseContainer(offsetClock, adjustableClock)
{
OnRetry = Restart,
OnQuit = Exit,
@@ -192,7 +195,7 @@ private void load(AudioManager audio, OsuConfigManager config, APIAccess api)
},
new SkipButton(firstObjectTime)
{
- SeekableClock = decoupledClock,
+ AdjustableClock = adjustableClock,
FramedClock = offsetClock,
},
hudOverlay = new HUDOverlay(scoreProcessor, RulesetContainer, decoupledClock, working)
@@ -304,7 +307,7 @@ private bool onFail()
if (Beatmap.Value.Mods.Value.OfType().Any(m => !m.AllowFail))
return false;
- decoupledClock.Stop();
+ adjustableClock.Stop();
HasFailed = true;
failOverlay.Retries = RestartCount;
@@ -337,14 +340,14 @@ protected override void OnEntering(Screen last)
Schedule(() =>
{
- decoupledClock.ChangeSource(sourceClock);
+ adjustableClock.ChangeSource(sourceClock);
applyRateFromMods();
this.Delay(750).Schedule(() =>
{
if (!pauseContainer.IsPaused)
{
- decoupledClock.Start();
+ adjustableClock.Start();
}
});
});
diff --git a/osu.Game/Screens/Play/SkipButton.cs b/osu.Game/Screens/Play/SkipButton.cs
index 463dcc1644..b7e075d893 100644
--- a/osu.Game/Screens/Play/SkipButton.cs
+++ b/osu.Game/Screens/Play/SkipButton.cs
@@ -25,7 +25,7 @@ public class SkipButton : OverlayContainer, IKeyBindingHandler
{
private readonly double startTime;
- public IAdjustableClock SeekableClock;
+ public IAdjustableClock AdjustableClock;
public IFrameBasedClock FramedClock;
private Button button;
@@ -111,7 +111,7 @@ protected override void LoadComplete()
using (BeginAbsoluteSequence(beginFadeTime))
this.FadeOut(fade_time);
- button.Action = () => SeekableClock?.Seek(startTime - skip_required_cutoff - fade_time);
+ button.Action = () => AdjustableClock?.Seek(startTime - skip_required_cutoff - fade_time);
displayTime = Time.Current;