You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/Plugins/Animancer/Internal/Interfaces/IPlayableWrapper.cs

58 lines
2.1 KiB
C#

2 months ago
// Animancer // Copyright 2020 Kybernetik //
using UnityEngine;
using UnityEngine.Playables;
namespace Animancer
{
/// <summary>
/// Interface for objects that manage a <see cref="UnityEngine.Playables.Playable"/>.
/// </summary>
public interface IPlayableWrapper
{
/************************************************************************************************************************/
/// <summary>The object which receives the output of the <see cref="Playable"/>.</summary>
IPlayableWrapper Parent { get; }
/// <summary>The <see cref="UnityEngine.Playables.Playable"/> managed by this object.</summary>
Playable Playable { get; }
/// <summary>
/// Indicates whether child playables should stay connected to the graph at all times.
/// <para></para>
/// If false, playables will be disconnected from the graph while they are at 0 weight to stop it from
/// evaluating them every frame which is generally more efficient.
/// </summary>
bool KeepChildrenConnected { get; }
/// <summary>
/// How fast the <see cref="Time"/> is advancing every frame.
/// <para></para>
/// 1 is the normal speed.
/// <para></para>
/// A negative value will play the animation backwards.
/// <para></para>
/// Animancer Lite does not allow this value to be changed in a runtime build.
/// </summary>
///
/// <example>
/// <code>
/// void PlayAnimation(AnimancerComponent animancer, AnimationClip clip)
/// {
/// var state = animancer.Play(clip);
///
/// state.Speed = 1;// Normal speed.
/// state.Speed = 2;// Double speed.
/// state.Speed = 0.5f;// Half speed.
/// state.Speed = -1;// Normal speed playing backwards.
/// }
/// </code>
/// </example>
float Speed { get; set; }
/************************************************************************************************************************/
}
}