Also fix second instance of same execution

This commit is contained in:
Dean Herbert
2020-07-31 22:02:12 +09:00
parent 4d2a677080
commit e8f75a78e8

View File

@ -236,8 +236,8 @@ namespace osu.Game.Overlays
{ {
if (beatmap is Bindable<WorkingBeatmap> working) if (beatmap is Bindable<WorkingBeatmap> working)
working.Value = beatmaps.GetWorkingBeatmap(playable.Beatmaps.First(), beatmap.Value); working.Value = beatmaps.GetWorkingBeatmap(playable.Beatmaps.First(), beatmap.Value);
beatmap.Value.Track.Restart();
restartTrack();
return PreviousTrackResult.Previous; return PreviousTrackResult.Previous;
} }
@ -263,16 +263,20 @@ namespace osu.Game.Overlays
if (beatmap is Bindable<WorkingBeatmap> working) if (beatmap is Bindable<WorkingBeatmap> working)
working.Value = beatmaps.GetWorkingBeatmap(playable.Beatmaps.First(), beatmap.Value); working.Value = beatmaps.GetWorkingBeatmap(playable.Beatmaps.First(), beatmap.Value);
// if not scheduled, the previously track will be stopped one frame later (see ScheduleAfterChildren logic in GameBase). restartTrack();
// we probably want to move this to a central method for switching to a new working beatmap in the future.
Schedule(() => beatmap.Value.Track.Restart());
return true; return true;
} }
return false; return false;
} }
private void restartTrack()
{
// if not scheduled, the previously track will be stopped one frame later (see ScheduleAfterChildren logic in GameBase).
// we probably want to move this to a central method for switching to a new working beatmap in the future.
Schedule(() => beatmap.Value.Track.Restart());
}
private WorkingBeatmap current; private WorkingBeatmap current;
private TrackChangeDirection? queuedDirection; private TrackChangeDirection? queuedDirection;