Load beatmap data from an optional osb file.

This commit is contained in:
Damnae
2017-02-09 15:09:48 +01:00
parent c5cf6a6909
commit a504c73f33
10 changed files with 68 additions and 24 deletions

View File

@ -21,6 +21,7 @@ namespace osu.Desktop.Beatmaps.IO
private string basePath { get; set; }
private string[] beatmaps { get; set; }
private string storyboard { get; set; }
private Beatmap firstMap { get; set; }
public LegacyFilesystemReader(string path)
@ -29,6 +30,7 @@ namespace osu.Desktop.Beatmaps.IO
beatmaps = Directory.GetFiles(basePath, @"*.osu").Select(f => Path.GetFileName(f)).ToArray();
if (beatmaps.Length == 0)
throw new FileNotFoundException(@"This directory contains no beatmaps");
storyboard = Directory.GetFiles(basePath, @"*.osb").Select(f => Path.GetFileName(f)).FirstOrDefault();
using (var stream = new StreamReader(GetStream(beatmaps[0])))
{
var decoder = BeatmapDecoder.GetDecoder(stream);
@ -41,6 +43,11 @@ namespace osu.Desktop.Beatmaps.IO
return beatmaps;
}
public override string ReadStoryboard()
{
return storyboard;
}
public override Stream GetStream(string name)
{
return File.OpenRead(Path.Combine(basePath, name));