mirror of
https://github.com/ppy/osu.git
synced 2026-05-17 12:02:58 +08:00
Skip full intro length
This commit is contained in:
@@ -227,7 +227,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
|
||||
|
||||
private void onVoteToSkipPassed()
|
||||
{
|
||||
Schedule(PerformIntroSkip);
|
||||
Schedule(() => PerformIntroSkip(true));
|
||||
}
|
||||
|
||||
protected override ResultsScreen CreateResults(ScoreInfo score)
|
||||
|
||||
@@ -115,14 +115,14 @@ namespace osu.Game.Screens.Play
|
||||
/// <summary>
|
||||
/// Skip forward to the next valid skip point.
|
||||
/// </summary>
|
||||
public void Skip()
|
||||
public void Skip(bool fullLength = false)
|
||||
{
|
||||
if (GameplayClock.CurrentTime > GameplayStartTime - MINIMUM_SKIP_TIME)
|
||||
return;
|
||||
|
||||
double skipTarget = GameplayStartTime - MINIMUM_SKIP_TIME;
|
||||
|
||||
if (StartTime < -10000 && GameplayClock.CurrentTime < 0 && skipTarget > 6000)
|
||||
if (!fullLength && StartTime < -10000 && GameplayClock.CurrentTime < 0 && skipTarget > 6000)
|
||||
// double skip exception for storyboards with very long intros
|
||||
skipTarget = 0;
|
||||
|
||||
|
||||
@@ -706,13 +706,13 @@ namespace osu.Game.Screens.Play
|
||||
PerformIntroSkip();
|
||||
}
|
||||
|
||||
protected void PerformIntroSkip()
|
||||
protected void PerformIntroSkip(bool fullLength = false)
|
||||
{
|
||||
// user requested skip
|
||||
// disable sample playback to stop currently playing samples and perform skip
|
||||
samplePlaybackDisabled.Value = true;
|
||||
|
||||
(GameplayClockContainer as MasterGameplayClockContainer)?.Skip();
|
||||
(GameplayClockContainer as MasterGameplayClockContainer)?.Skip(fullLength);
|
||||
|
||||
// return samplePlaybackDisabled.Value to what is defined by the beatmap's current state
|
||||
updateSampleDisabledState();
|
||||
|
||||
Reference in New Issue
Block a user