private void Land()
 {
     m_bGrounded   = true;
     m_bMovingDown = false;
     m_CurvePlayer = null;
     NewRingClone();
 }
 private void OnTouch()
 {
     if (m_bGrounded)
     {
         m_CurvePlayer = Wrj.Utils.MapToCurve.EaseIn.Move(transform, Vector3.up * jumpHeight, jumpLength, mirrorCurve: true, onDone: OnUntouch);
         m_bGrounded   = false;
     }
 }
    private void OnUntouch()
    {
        if (!m_bGrounded && !m_bMovingDown)
        {
            if (m_CurvePlayer != null)
            {
                m_CurvePlayer.Stop();
            }

            m_bMovingDown = true;
            m_CurvePlayer = Wrj.Utils.MapToCurve.EaseIn.Move(transform, Vector3.zero, jumpLength * Mathf.InverseLerp(0, jumpHeight, transform.localPosition.y), onDone: Land);
        }
    }