public static Vector3 Clamp(Vector3 vector, Vector2 rangeX, Vector2 rangeY, Vector2 rangeZ)
 {
     vector.x = MathfExtend.Clamp(vector.x, rangeX);
     vector.y = MathfExtend.Clamp(vector.y, rangeY);
     vector.z = MathfExtend.Clamp(vector.z, rangeZ);
     return(vector);
 }
 public static Vector3 Clamp(Vector3 vector, Range rangeX, Range rangeY)
 {
     vector.x = MathfExtend.Clamp(vector.x, rangeX);
     vector.y = MathfExtend.Clamp(vector.y, rangeY);
     return(vector);
 }
        public void Translate(Vector3 translateVector, FunctionEnum function = FunctionEnum.Linear)
        {
            Vector3 newVector = GetCurrentValue() + translateVector;

            if (useLimitX)
            {
                newVector.x = isPercent ? MathfExtend.Lerp(rangeX, translateVector.x, function) : MathfExtend.Clamp(newVector.x, rangeX);
            }
            if (useLimitY)
            {
                newVector.y = isPercent ? MathfExtend.Lerp(rangeY, translateVector.y, function) : MathfExtend.Clamp(newVector.y, rangeY);
            }
            if (useLimitZ)
            {
                newVector.z = isPercent ? MathfExtend.Lerp(rangeZ, translateVector.z, function) : MathfExtend.Clamp(newVector.z, rangeZ);
            }

            SetCurrentValue(newVector);
        }