mirror of
https://github.com/ppy/osu.git
synced 2024-11-06 09:07:25 +08:00
32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
|
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
|
|
|
using System.IO;
|
|
using osu.Framework.Audio;
|
|
using osu.Framework.Graphics.Textures;
|
|
using osu.Framework.IO.Stores;
|
|
using osu.Game.Beatmaps;
|
|
|
|
namespace osu.Game.Skinning
|
|
{
|
|
public class BeatmapSkin : LegacySkin
|
|
{
|
|
public BeatmapSkin(BeatmapInfo beatmap, IResourceStore<byte[]> storage, AudioManager audioManager)
|
|
: base(new SkinInfo { Name = beatmap.ToString(), Creator = beatmap.Metadata.Author.ToString() })
|
|
{
|
|
storage = new LegacySkinResourceStore<BeatmapSetFileInfo>(beatmap.BeatmapSet, storage);
|
|
|
|
Samples = audioManager.GetSampleManager(storage);
|
|
|
|
Textures = new TextureStore(new RawTextureLoaderStore(storage));
|
|
|
|
var decoder = new LegacySkinDecoder();
|
|
|
|
using (StreamReader reader = new StreamReader(storage.GetStream(beatmap.Path)))
|
|
{
|
|
Configuration = decoder.Decode(reader);
|
|
}
|
|
}
|
|
}
|
|
}
|