osu/osu.Game/Storyboards/StoryboardSample.cs

37 lines
1.0 KiB
C#
Raw Normal View History

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
2018-04-13 09:19:50 +00:00
using System.Collections.Generic;
2018-04-13 09:19:50 +00:00
using osu.Framework.Graphics;
using osu.Game.Audio;
2018-06-28 04:43:56 +00:00
using osu.Game.Storyboards.Drawables;
2018-04-13 09:19:50 +00:00
namespace osu.Game.Storyboards
{
public class StoryboardSampleInfo : IStoryboardElement, ISampleInfo
2018-04-13 09:19:50 +00:00
{
public string Path { get; }
2018-06-28 04:43:56 +00:00
public bool IsDrawable => true;
2018-04-13 09:19:50 +00:00
public double StartTime { get; }
public int Volume { get; }
2018-04-13 09:19:50 +00:00
2019-08-23 11:55:06 +00:00
public IEnumerable<string> LookupNames => new[]
{
// Try first with the full name, then attempt with no path
Path,
System.IO.Path.ChangeExtension(Path, null),
};
public StoryboardSampleInfo(string path, double time, int volume)
2018-04-13 09:19:50 +00:00
{
Path = path;
StartTime = time;
2018-04-13 09:19:50 +00:00
Volume = volume;
}
2018-06-28 04:43:56 +00:00
public Drawable CreateDrawable() => new DrawableStoryboardSample(this);
2018-04-13 09:19:50 +00:00
}
}