Refactor WorkingBeatmap

Gets ArchiveReader out of WorkingBeatmap and delegates extracting stuff
from it to subclasses. Should enable us to make an OnlineWorkingBeatmap
or so.
This commit is contained in:
Drew DeVault
2017-03-22 05:54:07 -04:00
parent b349c7d7fd
commit cc2b4c5c5b
8 changed files with 176 additions and 152 deletions

View File

@ -18,7 +18,7 @@ using SQLiteNetExtensions.Extensions;
namespace osu.Game.Database
{
public class BeatmapDatabase
public partial class BeatmapDatabase
{
private SQLiteConnection connection { get; }
private Storage storage;
@ -342,18 +342,5 @@ namespace osu.Game.Database
}
public bool Exists(BeatmapSetInfo beatmapSet) => storage.Exists(beatmapSet.Path);
private class DatabaseWorkingBeatmap : WorkingBeatmap
{
private readonly BeatmapDatabase database;
public DatabaseWorkingBeatmap(BeatmapDatabase database, BeatmapInfo beatmapInfo, BeatmapSetInfo beatmapSetInfo, bool withStoryboard = false)
: base(beatmapInfo, beatmapSetInfo, withStoryboard)
{
this.database = database;
}
protected override ArchiveReader GetReader() => database?.GetReader(BeatmapSetInfo);
}
}
}