2020-03-27 17:03:02 +08:00
// 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.
using osu.Framework.Allocation ;
2020-11-22 03:06:30 +08:00
using osu.Framework.Bindables ;
2022-08-02 18:50:57 +08:00
using osu.Framework.Graphics.Textures ;
2020-03-27 17:03:02 +08:00
using osu.Framework.Timing ;
2023-09-03 06:20:01 +08:00
using osuTK ;
2020-03-27 17:03:02 +08:00
namespace osu.Game.Skinning
{
/// <summary>
/// Denotes an object which provides a reference time to start animations from.
/// </summary>
2020-04-02 13:30:22 +08:00
/// <remarks>
/// This should not be used to start an animation immediately at the current time.
2023-09-03 06:20:01 +08:00
/// To do so, use <see cref="LegacySkinExtensions.GetAnimation(ISkin, string, WrapMode, WrapMode, bool, bool, bool, string, bool, double?, Vector2?)"/> with <code>startAtCurrentTime = true</code> instead.
2020-04-02 13:30:22 +08:00
/// </remarks>
2020-03-27 17:03:02 +08:00
[Cached]
public interface IAnimationTimeReference
{
/// <summary>
/// The reference clock.
/// </summary>
IFrameBasedClock Clock { get ; }
/// <summary>
/// The time which animations should be started from, relative to <see cref="Clock"/>.
/// </summary>
2020-11-22 20:11:22 +08:00
Bindable < double > AnimationStartTime { get ; }
2020-03-27 17:03:02 +08:00
}
}