protected override void SetOrientation(object target, TweenPlugPathOrientOptions options, TweenPlugPath path, float pathPerc)
        {
            var body  = (Rigidbody2D)target;
            var trans = body.transform;

            var rot = TweenPlugOrient.GetOrientation2D(options.orientMode, trans, path, pathPerc);

            body.MoveRotation(rot);
        }
        /// <summary>
        /// Grab orientation by looking ahead of path, returns rotation in world space.
        /// </summary>
        public Quaternion GetOrientation(Transform trans, float t)
        {
            float finalT = GetFinalT(t);

            if (float.IsNaN(finalT))
            {
                return(trans.rotation);
            }

            return(TweenPlugOrient.GetOrientation(orientMode, orientLockAxis, trans, path, finalT));
        }
        protected override void SetOrientation(object target, TweenPlugVector3LookAtOptions options)
        {
            var trans = (Transform)target;

            var lookAtPt = options.lookAtPt;

            if (options.lookAtIsLocal && trans.parent)
            {
                lookAtPt = trans.parent.TransformPoint(lookAtPt);
            }

            trans.rotation = TweenPlugOrient.GetOrientation(options.orientMode, options.lockAxis, trans, lookAtPt);
        }
        protected override void SetOrientation(object target, TweenPlugVector3LookAtOptions options)
        {
            var body  = (Rigidbody2D)target;
            var trans = body.transform;

            var lookAtPt = options.lookAtPt;

            if (options.lookAtIsLocal && trans.parent)
            {
                lookAtPt = trans.parent.TransformPoint(lookAtPt);
            }

            var rot = TweenPlugOrient.GetOrientation2D(options.orientMode, trans, lookAtPt);

            body.MoveRotation(rot);
        }
        protected override void SetOrientation(object target, TweenPlugPathOrientOptions options, TweenPlugPath path, float pathPerc)
        {
            var trans = (Transform)target;

            trans.rotation = TweenPlugOrient.GetOrientation(options.orientMode, options.lockAxis, trans, path, pathPerc);
        }
 /// <summary>
 /// Grab orientation by direction torwards lookatPt (world space), returns rotation in world space.
 /// </summary>
 public Quaternion GetOrientation(Transform trans, Vector3 lookatPt)
 {
     return(TweenPlugOrient.GetOrientation(orientMode, orientLockAxis, trans, lookatPt));
 }