1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-04 00:42:55 +08:00

Make MusicController non-nullable

This commit is contained in:
smoogipoo 2020-08-11 12:40:58 +09:00
parent c66a14e9c5
commit 7d35893ecd
3 changed files with 12 additions and 20 deletions

View File

@ -45,7 +45,7 @@ namespace osu.Game.Screens.Menu
[Resolved] [Resolved]
private GameHost host { get; set; } private GameHost host { get; set; }
[Resolved(canBeNull: true)] [Resolved]
private MusicController music { get; set; } private MusicController music { get; set; }
[Resolved(canBeNull: true)] [Resolved(canBeNull: true)]

View File

@ -32,7 +32,7 @@ namespace osu.Game.Screens.Multi.Lounge
[Resolved] [Resolved]
private Bindable<Room> selectedRoom { get; set; } private Bindable<Room> selectedRoom { get; set; }
[Resolved(canBeNull: true)] [Resolved]
private MusicController music { get; set; } private MusicController music { get; set; }
private bool joiningRoom; private bool joiningRoom;

View File

@ -99,7 +99,7 @@ namespace osu.Game.Screens.Select
private readonly Bindable<RulesetInfo> decoupledRuleset = new Bindable<RulesetInfo>(); private readonly Bindable<RulesetInfo> decoupledRuleset = new Bindable<RulesetInfo>();
[Resolved(canBeNull: true)] [Resolved]
private MusicController music { get; set; } private MusicController music { get; set; }
[BackgroundDependencyLoader(true)] [BackgroundDependencyLoader(true)]
@ -561,18 +561,15 @@ namespace osu.Game.Screens.Select
BeatmapDetails.Refresh(); BeatmapDetails.Refresh();
if (music?.CurrentTrack != null) music.CurrentTrack.Looping = true;
{ music.ResetTrackAdjustments();
music.CurrentTrack.Looping = true;
music.ResetTrackAdjustments();
}
if (Beatmap != null && !Beatmap.Value.BeatmapSetInfo.DeletePending) if (Beatmap != null && !Beatmap.Value.BeatmapSetInfo.DeletePending)
{ {
updateComponentFromBeatmap(Beatmap.Value); updateComponentFromBeatmap(Beatmap.Value);
// restart playback on returning to song select, regardless. // restart playback on returning to song select, regardless.
music?.Play(); music.Play();
} }
this.FadeIn(250); this.FadeIn(250);
@ -589,8 +586,7 @@ namespace osu.Game.Screens.Select
BeatmapOptions.Hide(); BeatmapOptions.Hide();
if (music?.CurrentTrack != null) music.CurrentTrack.Looping = false;
music.CurrentTrack.Looping = false;
this.ScaleTo(1.1f, 250, Easing.InSine); this.ScaleTo(1.1f, 250, Easing.InSine);
@ -611,8 +607,7 @@ namespace osu.Game.Screens.Select
FilterControl.Deactivate(); FilterControl.Deactivate();
if (music?.CurrentTrack != null) music.CurrentTrack.Looping = false;
music.CurrentTrack.Looping = false;
return false; return false;
} }
@ -653,8 +648,7 @@ namespace osu.Game.Screens.Select
BeatmapDetails.Beatmap = beatmap; BeatmapDetails.Beatmap = beatmap;
if (music?.CurrentTrack != null) music.CurrentTrack.Looping = true;
music.CurrentTrack.Looping = true;
} }
private readonly WeakReference<ITrack> lastTrack = new WeakReference<ITrack>(null); private readonly WeakReference<ITrack> lastTrack = new WeakReference<ITrack>(null);
@ -665,16 +659,14 @@ namespace osu.Game.Screens.Select
/// </summary> /// </summary>
private void ensurePlayingSelected() private void ensurePlayingSelected()
{ {
ITrack track = music?.CurrentTrack; ITrack track = music.CurrentTrack;
if (track == null)
return;
bool isNewTrack = !lastTrack.TryGetTarget(out var last) || last != track; bool isNewTrack = !lastTrack.TryGetTarget(out var last) || last != track;
track.RestartPoint = Beatmap.Value.Metadata.PreviewTime; track.RestartPoint = Beatmap.Value.Metadata.PreviewTime;
if (!track.IsRunning && (music?.IsUserPaused != true || isNewTrack)) if (!track.IsRunning && (music.IsUserPaused != true || isNewTrack))
music?.Play(true); music.Play(true);
lastTrack.SetTarget(track); lastTrack.SetTarget(track);
} }