Centralise TrackManager.AddItem logic to avoid duplicate adds

This commit is contained in:
Dean Herbert
2017-07-20 17:46:23 +09:00
parent 67b95926c4
commit 3bdd4d7d02
5 changed files with 17 additions and 28 deletions

View File

@ -32,7 +32,6 @@ namespace osu.Game.Screens.Select
protected override BackgroundScreen CreateBackground() => new BackgroundScreenBeatmap();
private readonly BeatmapCarousel carousel;
private TrackManager trackManager;
private DialogOverlay dialogOverlay;
private static readonly Vector2 wedged_container_size = new Vector2(0.5f, 245);
@ -174,7 +173,6 @@ namespace osu.Game.Screens.Select
database.BeatmapSetAdded += onBeatmapSetAdded;
database.BeatmapSetRemoved += onBeatmapSetRemoved;
trackManager = audio.Track;
dialogOverlay = dialog;
sampleChangeDifficulty = audio.Sample.Get(@"SongSelect/select-difficulty");
@ -358,10 +356,11 @@ namespace osu.Game.Screens.Select
{
Track track = Beatmap.Value.Track;
trackManager.AddItem(track);
if (preview) track.Seek(Beatmap.Value.Metadata.PreviewTime);
track.Start();
if (!track.IsRunning)
{
if (preview) track.Seek(Beatmap.Value.Metadata.PreviewTime);
track.Start();
}
}
private void removeBeatmapSet(BeatmapSetInfo beatmapSet)