public void StopEasing()
 {
     timePos              = duration;
     updateDelegate       = null;
     finishEasingDelegate = null;
     lerpPos              = 1;
 }
 protected void ActionUpdate()
 {
     timePos += deltaTime;
     if (timePos >= duration)
     {
         timePos        = duration;
         updateDelegate = null;
         if (finishEasingDelegate != null)
         {
             finishEasingDelegate();
             if (isClearDelegateAfterFinish)
             {
                 finishEasingDelegate = null;
             }
         }
     }
     lerpPos = EasingCalculator.Calculate(easingType, timePos, 0f, 1f, duration);
 }