From 859ee5d316d99f6f74d1c3188fcab9c8138d8071 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 23 Mar 2017 10:07:26 +0900 Subject: [PATCH] Tidy up DatabaseWorkingBeatmap. --- osu.Game/Database/DatabaseWorkingBeatmap.cs | 28 ++++++++------------- 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/osu.Game/Database/DatabaseWorkingBeatmap.cs b/osu.Game/Database/DatabaseWorkingBeatmap.cs index 0a7779f17b..1b37cf2fa0 100644 --- a/osu.Game/Database/DatabaseWorkingBeatmap.cs +++ b/osu.Game/Database/DatabaseWorkingBeatmap.cs @@ -21,12 +21,13 @@ namespace osu.Game.Database } private ArchiveReader getReader() => database?.GetReader(BeatmapSetInfo); - + protected override Beatmap GetBeatmap() { - Beatmap beatmap; try { + Beatmap beatmap; + using (var reader = getReader()) { BeatmapDecoder decoder; @@ -40,42 +41,33 @@ namespace osu.Game.Database using (var stream = new StreamReader(reader.GetStream(BeatmapSetInfo.StoryboardFile))) decoder.Decode(stream, beatmap); } + + return beatmap; } catch { return null; } - return beatmap; } - + protected override Texture GetBackground() { - Texture background; if (BeatmapInfo?.Metadata?.BackgroundFile == null) return null; + try { using (var reader = getReader()) - { - background = new TextureStore( - new RawTextureLoaderStore(reader), - false).Get(BeatmapInfo.Metadata.BackgroundFile); - } + return new TextureStore(new RawTextureLoaderStore(reader), false).Get(BeatmapInfo.Metadata.BackgroundFile); } catch { return null; } - return background; } - private ArchiveReader trackReader; protected override Track GetTrack() { - Track track; try { - //store a reference to the reader as we may continue accessing the stream in the background. - trackReader = getReader(); - var trackData = trackReader?.GetStream(BeatmapInfo.Metadata.AudioFile); - track = trackData == null ? null : new TrackBass(trackData); + var trackData = getReader()?.GetStream(BeatmapInfo.Metadata.AudioFile); + return trackData == null ? null : new TrackBass(trackData); } catch { return null; } - return track; } } } \ No newline at end of file