1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-15 06:42:56 +08:00

Fix music playing while exiting from editor

This commit is contained in:
Desconocidosmh 2019-07-09 00:08:18 +02:00
parent 39f04e497d
commit 338371c3fc
5 changed files with 18 additions and 11 deletions

View File

@ -306,7 +306,7 @@ namespace osu.Game
private void currentTrackCompleted() private void currentTrackCompleted()
{ {
if (!Beatmap.Value.Track.Looping && !Beatmap.Disabled) if (!Beatmap.Value.Track.Looping && !Beatmap.Disabled)
musicController.NextTrack(); MusicController.NextTrack();
} }
#endregion #endregion
@ -484,7 +484,7 @@ namespace osu.Game
Origin = Anchor.TopRight, Origin = Anchor.TopRight,
}, rightFloatingOverlayContent.Add, true); }, rightFloatingOverlayContent.Add, true);
loadComponentSingleFile(musicController = new MusicController loadComponentSingleFile(MusicController = new MusicController
{ {
GetToolbarHeight = () => ToolbarOffset, GetToolbarHeight = () => ToolbarOffset,
Anchor = Anchor.TopRight, Anchor = Anchor.TopRight,
@ -752,7 +752,7 @@ namespace osu.Game
private ScalingContainer screenContainer; private ScalingContainer screenContainer;
private MusicController musicController; public MusicController MusicController { get; private set; }
protected override bool OnExiting() protected override bool OnExiting()
{ {

View File

@ -239,12 +239,6 @@ namespace osu.Game.Screens.Edit
{ {
Background.FadeColour(Color4.White, 500); Background.FadeColour(Color4.White, 500);
if (Beatmap.Value.Track != null)
{
Beatmap.Value.Track.Tempo.Value = 1;
Beatmap.Value.Track.Start();
}
return base.OnExiting(next); return base.OnExiting(next);
} }

View File

@ -120,7 +120,7 @@ namespace osu.Game.Screens.Menu
var track = Beatmap.Value.Track; var track = Beatmap.Value.Track;
var metadata = Beatmap.Value.Metadata; var metadata = Beatmap.Value.Metadata;
if (last is Intro && track != null) if (last is Intro && track != null && !Game.MusicController.UserRequestedPause)
{ {
if (!track.IsRunning) if (!track.IsRunning)
{ {
@ -189,6 +189,8 @@ namespace osu.Game.Screens.Menu
//we may have consumed our preloaded instance, so let's make another. //we may have consumed our preloaded instance, so let's make another.
preloadSongSelect(); preloadSongSelect();
ResumeIfNoUserPauseRequested();
} }
public override bool OnExiting(IScreen next) public override bool OnExiting(IScreen next)

View File

@ -50,7 +50,7 @@ namespace osu.Game.Screens
public virtual bool CursorVisible => true; public virtual bool CursorVisible => true;
protected new OsuGameBase Game => base.Game as OsuGameBase; protected new OsuGame Game => base.Game as OsuGame;
/// <summary> /// <summary>
/// The <see cref="UserActivity"/> to set the user's activity automatically to when this screen is entered /// The <see cref="UserActivity"/> to set the user's activity automatically to when this screen is entered
@ -179,6 +179,15 @@ namespace osu.Game.Screens
api.Activity.Value = activity; api.Activity.Value = activity;
} }
protected void ResumeIfNoUserPauseRequested()
{
if (Beatmap.Value.Track != null && !Game.MusicController.UserRequestedPause)
{
Beatmap.Value.Track.Tempo.Value = 1;
Beatmap.Value.Track.Start();
}
}
/// <summary> /// <summary>
/// Fired when this screen was entered or resumed and the logo state is required to be adjusted. /// Fired when this screen was entered or resumed and the logo state is required to be adjusted.
/// </summary> /// </summary>

View File

@ -426,6 +426,8 @@ namespace osu.Game.Screens.Select
{ {
base.OnEntering(last); base.OnEntering(last);
ResumeIfNoUserPauseRequested();
this.FadeInFromZero(250); this.FadeInFromZero(250);
FilterControl.Activate(); FilterControl.Activate();
} }