using UnityEngine;
namespace EditorAttributes
{
///
/// Attribute to clamp a numeric field between two values
///
public class ClampAttribute : PropertyAttribute
{
public float MinValueX { get; private set; }
public float MaxValueX { get; private set; }
public float MinValueY { get; private set; }
public float MaxValueY { get; private set; }
public float MinValueZ { get; private set; }
public float MaxValueZ { get; private set; }
public float MinValueW { get; private set; }
public float MaxValueW { get; private set; }
///
/// Attribute to clamp a numeric field between two values
///
/// The min value to clamp
/// The max value to clamp
public ClampAttribute(float minValue, float maxValue)
{
MinValueX = minValue;
MaxValueX = maxValue;
MinValueY = minValue;
MaxValueY = maxValue;
MinValueZ = minValue;
MaxValueZ = maxValue;
MinValueW = minValue;
MaxValueW = maxValue;
}
///
/// Attribute to clamp a numeric field between two values
///
/// The min value to clamp on X
/// The max value to clamp on X
/// The min value to clamp on Y
/// The max value to clamp on Y
public ClampAttribute(float minValueX, float maxValueX, float minValueY, float maxValueY)
{
MinValueX = minValueX;
MaxValueX = maxValueX;
MinValueY = minValueY;
MaxValueY = maxValueY;
MinValueZ = minValueX;
MaxValueZ = maxValueX;
MinValueW = minValueY;
MaxValueW = maxValueY;
}
///
/// Attribute to clamp a numeric field between two values
///
/// The min value to clamp on X
/// The max value to clamp on X
/// The min value to clamp on Y
/// The max value to clamp on Y
/// The min value to clamp on Z
/// The max value to clamp on Z
public ClampAttribute(float minValueX, float maxValueX, float minValueY, float maxValueY, float minValueZ, float maxValueZ)
{
MinValueX = minValueX;
MaxValueX = maxValueX;
MinValueY = minValueY;
MaxValueY = maxValueY;
MinValueZ = minValueZ;
MaxValueZ = maxValueZ;
MinValueW = minValueX;
MaxValueW = maxValueX;
}
///
/// Attribute to clamp a numeric field between two values
///
/// The min value to clamp on X
/// The max value to clamp on X
/// The min value to clamp on Y
/// The max value to clamp on Y
/// The min value to clamp on Z
/// The max value to clamp on Z
/// The min value to clamp on W
/// The max value to clamp on W
public ClampAttribute(float minValueX, float maxValueX, float minValueY, float maxValueY, float minValueZ, float maxValueZ, float minValueW, float maxValueW)
{
MinValueX = minValueX;
MaxValueX = maxValueX;
MinValueY = minValueY;
MaxValueY = maxValueY;
MinValueZ = minValueZ;
MaxValueZ = maxValueZ;
MinValueW = minValueW;
MaxValueW = maxValueW;
}
}
}