using UnityEngine; namespace NaughtyAttributes.Test { public class MinMaxValueTest : MonoBehaviour { [MinValue(0)] public int min0Int; [MaxValue(0)] public int max0Int; [MinValue(0), MaxValue(1)] public float range01Float; [MinValue(0), MaxValue(1)] public Vector2 range01Vector2; [MinValue(0), MaxValue(1)] public Vector3 range01Vector3; [MinValue(0), MaxValue(1)] public Vector4 range01Vector4; [MinValue(0)] public Vector2Int min0Vector2Int; [MaxValue(100)] public Vector2Int max100Vector2Int; [MinValue(0)] public Vector3Int min0Vector3Int; [MaxValue(100)] public Vector3Int max100Vector3Int; public MinMaxValueNest1 nest1; } [System.Serializable] public class MinMaxValueNest1 { [MinValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public int min0Int; [MaxValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public int max0Int; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public float range01Float; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector2 range01Vector2; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector3 range01Vector3; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector4 range01Vector4; [MinValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector2Int min0Vector2Int; [MaxValue(100)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector2Int max100Vector2Int; [MinValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector3Int min0Vector3Int; [MaxValue(100)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector3Int max100Vector3Int; public MinMaxValueNest2 nest2; } [System.Serializable] public class MinMaxValueNest2 { [MinValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public int min0Int; [MaxValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public int max0Int; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public float range01Float; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector2 range01Vector2; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector3 range01Vector3; [MinValue(0), MaxValue(1)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector4 range01Vector4; [MinValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector2Int min0Vector2Int; [MaxValue(100)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector2Int max100Vector2Int; [MinValue(0)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector3Int min0Vector3Int; [MaxValue(100)] [AllowNesting] // Because it's nested we need to explicitly allow nesting public Vector3Int max100Vector3Int; } }