private void endAction()
 {
     if (IsState(MotorState.CustomAction))
     {
         // smooth out or sudden stop
         Vector2 vec = new Vector2(m_ActionState.ActionDir, 1) * m_ActionState.GetActionVelocity();
         m_VelocityXSmoothing = vec.x;
         m_Velocity           = vec;
         changeState(IsGrounded() ? MotorState.OnGround : MotorState.Falling);
     }
 }