using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace BansheeEngine
{
/** @addtogroup Animation
* @{
*/
/// Contains information about a currently playing animation clip.
[StructLayout(LayoutKind.Sequential), SerializeObject]
public partial struct AnimationClipState
{
/// Initializes the struct with default values.
public static AnimationClipState Default()
{
AnimationClipState value = new AnimationClipState();
value.layer = 0;
value.time = 0f;
value.speed = 1f;
value.weight = 1f;
value.wrapMode = AnimWrapMode.Loop;
value.stopped = false;
return value;
}
/// Layer the clip is playing on. Multiple clips can be played simulatenously on different layers.
public uint layer;
/// Current time the animation is playing from.
public float time;
/// Speed at which the animation is playing.
public float speed;
/// Determines how much of an influence does the clip have on the final pose.
public float weight;
/// Determines what happens to other animation clips when a new clip starts playing.
public AnimWrapMode wrapMode;
///
/// Determines should the time be advanced automatically. Certain type of animation clips don't involve playback (e.g.
/// for blending where animation weight controls the animation).
///
public bool stopped;
}
/** @} */
}