namespace UnityEngine.Animations.Rigging
{
///
/// This interface is used to represent all constraints classes.
///
public interface IRigConstraint
{
///
/// Retrieves the constraint valid state.
///
/// Returns true if constraint data can be successfully evaluated. Returns false otherwise.
bool IsValid();
///
/// Creates the animation job for this constraint.
///
/// The animated hierarchy Animator component.
/// Returns the newly instantiated job.
IAnimationJob CreateJob(Animator animator);
///
/// Updates the specified job data.
///
/// The job to update.
void UpdateJob(IAnimationJob job);
///
/// Frees the specified job memory.
///
/// The job to destroy.
void DestroyJob(IAnimationJob job);
///
/// The data container for the constraint.
///
IAnimationJobData data { get; }
///
/// The job binder for the constraint.
///
IAnimationJobBinder binder { get; }
///
/// The component for the constraint.
///
Component component { get; }
///
/// The constraint weight. This is a value in between 0 and 1.
///
float weight { get; set; }
}
}