public override bool GetClosestPoint(Vector3 position, ref Vector3 closestPoint)
        {
            bool canApplyGravity = true;

            closestPoint = CapsuleHalf.GetClosestPoint(position);
            if (canApplyGravity)
            {
                closestPoint = ExtMovableShapeAdvanced.GetRightPosWithRange(position, closestPoint, _radiusMin * transform.lossyScale.Maximum(), _radiusMax * transform.lossyScale.Maximum(), out bool outOfRange);
                if (outOfRange)
                {
                    canApplyGravity = false;
                }
            }
            return(canApplyGravity);
        }
 public override void Draw()
 {
     CapsuleHalf.Draw(base.GetColor());
     if (!_drawRadius)
     {
         return;
     }
     if (_radiusMin > 0)
     {
         CapsuleHalf.DrawWithExtraSize(Color.gray, new Vector3(_radiusMin * transform.lossyScale.Maximum(), _radiusMin * transform.lossyScale.Maximum(), _radiusMin * transform.lossyScale.Maximum()));
     }
     if (_radiusMax > 0)
     {
         CapsuleHalf.DrawWithExtraSize(Color.red, new Vector3(_radiusMax * transform.lossyScale.Maximum(), _radiusMax * transform.lossyScale.Maximum(), _radiusMax * transform.lossyScale.Maximum()));
     }
 }