mirror of
https://github.com/ppy/osu.git
synced 2024-12-15 05:02:55 +08:00
split storyboard loading into GetStoryboard()
This commit is contained in:
parent
dddd432dc8
commit
cd653c1cbc
@ -25,6 +25,7 @@ using osu.Game.Online.API;
|
||||
using osu.Game.Online.API.Requests;
|
||||
using osu.Game.Overlays.Notifications;
|
||||
using osu.Game.Rulesets;
|
||||
using osu.Game.Storyboards;
|
||||
|
||||
namespace osu.Game.Beatmaps
|
||||
{
|
||||
@ -577,13 +578,6 @@ namespace osu.Game.Beatmaps
|
||||
beatmap = decoder.Decode(stream);
|
||||
}
|
||||
|
||||
if (beatmap == null || BeatmapSetInfo.StoryboardFile == null)
|
||||
return beatmap;
|
||||
|
||||
using (var stream = new StreamReader(store.GetStream(getPathForFile(BeatmapSetInfo.StoryboardFile))))
|
||||
decoder.Decode(stream, beatmap);
|
||||
|
||||
|
||||
return beatmap;
|
||||
}
|
||||
catch
|
||||
@ -623,6 +617,30 @@ namespace osu.Game.Beatmaps
|
||||
}
|
||||
|
||||
protected override Waveform GetWaveform() => new Waveform(store.GetStream(getPathForFile(Metadata.AudioFile)));
|
||||
|
||||
protected override Storyboard GetStoryboard()
|
||||
{
|
||||
try
|
||||
{
|
||||
Beatmap beatmap = Beatmap;
|
||||
|
||||
if (beatmap == null || BeatmapSetInfo.StoryboardFile == null)
|
||||
return new Storyboard();
|
||||
|
||||
BeatmapDecoder decoder;
|
||||
using (var stream = new StreamReader(store.GetStream(getPathForFile(BeatmapInfo.Path))))
|
||||
decoder = BeatmapDecoder.GetDecoder(stream);
|
||||
|
||||
using (var stream = new StreamReader(store.GetStream(getPathForFile(BeatmapSetInfo.StoryboardFile))))
|
||||
decoder.Decode(stream, beatmap);
|
||||
|
||||
return beatmap.Storyboard;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new Storyboard();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -9,6 +9,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using osu.Game.Storyboards;
|
||||
|
||||
namespace osu.Game.Beatmaps
|
||||
{
|
||||
@ -40,6 +41,7 @@ namespace osu.Game.Beatmaps
|
||||
protected abstract Texture GetBackground();
|
||||
protected abstract Track GetTrack();
|
||||
protected virtual Waveform GetWaveform() => new Waveform();
|
||||
protected virtual Storyboard GetStoryboard() => new Storyboard();
|
||||
|
||||
public bool BeatmapLoaded => beatmap.IsValueCreated;
|
||||
public Beatmap Beatmap => beatmap.Value.Result;
|
||||
|
Loading…
Reference in New Issue
Block a user