From 2e1f596b2ad0974665c0f53301cf3a2540097ec5 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 22 Mar 2017 06:50:48 -0400 Subject: [PATCH] Move DatabaseWorkingBeatmap out of partial class --- osu.Game/Database/BeatmapDatabase.cs | 2 +- osu.Game/Database/DatabaseWorkingBeatmap.cs | 115 ++++++++++---------- 2 files changed, 57 insertions(+), 60 deletions(-) diff --git a/osu.Game/Database/BeatmapDatabase.cs b/osu.Game/Database/BeatmapDatabase.cs index b115b86547..317467d792 100644 --- a/osu.Game/Database/BeatmapDatabase.cs +++ b/osu.Game/Database/BeatmapDatabase.cs @@ -18,7 +18,7 @@ using SQLiteNetExtensions.Extensions; namespace osu.Game.Database { - public partial class BeatmapDatabase + public class BeatmapDatabase { private SQLiteConnection connection { get; } private Storage storage; diff --git a/osu.Game/Database/DatabaseWorkingBeatmap.cs b/osu.Game/Database/DatabaseWorkingBeatmap.cs index 0961d95f03..0a7779f17b 100644 --- a/osu.Game/Database/DatabaseWorkingBeatmap.cs +++ b/osu.Game/Database/DatabaseWorkingBeatmap.cs @@ -10,75 +10,72 @@ using osu.Game.Beatmaps.IO; namespace osu.Game.Database { - public partial class BeatmapDatabase + internal class DatabaseWorkingBeatmap : WorkingBeatmap { - private class DatabaseWorkingBeatmap : WorkingBeatmap + private readonly BeatmapDatabase database; + + public DatabaseWorkingBeatmap(BeatmapDatabase database, BeatmapInfo beatmapInfo, BeatmapSetInfo beatmapSetInfo, bool withStoryboard = false) + : base(beatmapInfo, beatmapSetInfo, withStoryboard) { - private readonly BeatmapDatabase database; + this.database = database; + } - public DatabaseWorkingBeatmap(BeatmapDatabase database, BeatmapInfo beatmapInfo, BeatmapSetInfo beatmapSetInfo, bool withStoryboard = false) - : base(beatmapInfo, beatmapSetInfo, withStoryboard) + private ArchiveReader getReader() => database?.GetReader(BeatmapSetInfo); + + protected override Beatmap GetBeatmap() + { + Beatmap beatmap; + try { - this.database = database; - } - - private ArchiveReader getReader() => database?.GetReader(BeatmapSetInfo); - - protected override Beatmap GetBeatmap() - { - Beatmap beatmap; - try + using (var reader = getReader()) { - using (var reader = getReader()) + BeatmapDecoder decoder; + using (var stream = new StreamReader(reader.GetStream(BeatmapInfo.Path))) { - BeatmapDecoder decoder; - using (var stream = new StreamReader(reader.GetStream(BeatmapInfo.Path))) - { - decoder = BeatmapDecoder.GetDecoder(stream); - beatmap = decoder?.Decode(stream); - } - - if (WithStoryboard && beatmap != null && BeatmapSetInfo.StoryboardFile != null) - using (var stream = new StreamReader(reader.GetStream(BeatmapSetInfo.StoryboardFile))) - decoder.Decode(stream, beatmap); + decoder = BeatmapDecoder.GetDecoder(stream); + beatmap = decoder?.Decode(stream); } - } - 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); - } - } - 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); + if (WithStoryboard && beatmap != null && BeatmapSetInfo.StoryboardFile != null) + using (var stream = new StreamReader(reader.GetStream(BeatmapSetInfo.StoryboardFile))) + decoder.Decode(stream, beatmap); } - catch { return null; } - return track; } + 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); + } + } + 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); + } + catch { return null; } + return track; } } } \ No newline at end of file