using UnityEngine;
using System.Collections;
namespace RootMotion.FinalIK {
	/// 
	/// The base abstract class for all Transform constraints.
	/// 
	[System.Serializable]
	public abstract class Constraint {
		
		#region Main Interface
		
		/// 
		/// The transform to constrain.
		/// 
		public Transform transform;
		/// 
		/// %Constraint weight.
		/// 
		public float weight;
		
		/// 
		/// Gets a value indicating whether this  is valid.
		/// 
		/// 
		/// true if is valid; otherwise, false.
		/// 
		public bool isValid {
			get {
				return transform != null;
			}
		}
		
		/// 
		/// Updates the constraint.
		/// 
		public abstract void UpdateConstraint();
		
		#endregion Main Interface
	}
}