// 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; using osu.Framework.Bindables; using osu.Framework.Graphics.Textures; using osu.Framework.Timing; namespace osu.Game.Skinning { /// <summary> /// Denotes an object which provides a reference time to start animations from. /// </summary> /// <remarks> /// This should not be used to start an animation immediately at the current time. /// To do so, use <see cref="LegacySkinExtensions.GetAnimation(ISkin, string, WrapMode, WrapMode, bool, bool, bool, string, bool, double?)"/> with <code>startAtCurrentTime = true</code> instead. /// </remarks> [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> Bindable<double> AnimationStartTime { get; } } }