20 public static Func<CUIRect, CUIBoundaries> Free = (Rect) =>
new CUIBoundaries(
null,
null,
null,
null);
21 public static Func<CUIRect, CUIBoundaries> Box = (Rect) =>
new CUIBoundaries(0, Rect.Width, 0, Rect.Height);
22 public static Func<CUIRect, CUIBoundaries> HorizontalTube = (Rect) =>
new CUIBoundaries(
null,
null, 0, Rect.Height);
23 public static Func<CUIRect, CUIBoundaries> VerticalTube = (Rect) =>
new CUIBoundaries(0, Rect.Width,
null,
null);
36 public CUIRect Check(
float x,
float y,
float w,
float h)
38 if (MaxX.HasValue && x + w > MaxX.Value) x = MaxX.Value - w;
39 if (MaxY.HasValue && y + h > MaxY.Value) y = MaxY.Value - h;
40 if (MinX.HasValue && x < MinX.Value) x = MinX.Value;
41 if (MinY.HasValue && y < MinY.Value) y = MinY.Value;
50 if (MaxX.HasValue && x > MaxX.Value) x = MaxX.Value;
51 if (MaxY.HasValue && y > MaxY.Value) y = MaxY.Value;
52 if (MaxZ.HasValue && z > MaxZ.Value) z = MaxZ.Value;
54 if (MinX.HasValue && x < MinX.Value) x = MinX.Value;
55 if (MinY.HasValue && y < MinY.Value) y = MinY.Value;
56 if (MinZ.HasValue && z < MinZ.Value) z = MinZ.Value;
64 float? minX =
null,
float? maxX =
null,
65 float? minY =
null,
float? maxY =
null,
66 float? minZ =
null,
float? maxZ =
null
77 public override string ToString() => $
"[{MinX},{MaxX},{MinY},{MaxY},{MinZ},{MaxZ}]";