Browse Source

Merge pull request #81819 from Chaosus/cs_max_min_vectors

Add Vector2/3/4i.MAX and MIN (C#)
Rémi Verschelde 2 years ago
parent
commit
c78d0e2eb0

+ 14 - 0
modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2I.cs

@@ -182,6 +182,9 @@ namespace Godot
         }
 
         // Constants
+        private static readonly Vector2I _min = new Vector2I(int.MinValue, int.MinValue);
+        private static readonly Vector2I _max = new Vector2I(int.MaxValue, int.MaxValue);
+
         private static readonly Vector2I _zero = new Vector2I(0, 0);
         private static readonly Vector2I _one = new Vector2I(1, 1);
 
@@ -190,6 +193,17 @@ namespace Godot
         private static readonly Vector2I _right = new Vector2I(1, 0);
         private static readonly Vector2I _left = new Vector2I(-1, 0);
 
+        /// <summary>
+        /// Min vector, a vector with all components equal to <see cref="int.MinValue"/>. Can be used as a negative integer equivalent of <see cref="Vector2.Inf"/>.
+        /// </summary>
+        /// <value>Equivalent to <c>new Vector2I(int.MinValue, int.MinValue)</c>.</value>
+        public static Vector2I Min { get { return _min; } }
+        /// <summary>
+        /// Max vector, a vector with all components equal to <see cref="int.MaxValue"/>. Can be used as an integer equivalent of <see cref="Vector2.Inf"/>.
+        /// </summary>
+        /// <value>Equivalent to <c>new Vector2I(int.MaxValue, int.MaxValue)</c>.</value>
+        public static Vector2I Max { get { return _max; } }
+
         /// <summary>
         /// Zero vector, a vector with all components set to <c>0</c>.
         /// </summary>

+ 14 - 0
modules/mono/glue/GodotSharp/GodotSharp/Core/Vector3I.cs

@@ -193,6 +193,9 @@ namespace Godot
         }
 
         // Constants
+        private static readonly Vector3I _min = new Vector3I(int.MinValue, int.MinValue, int.MinValue);
+        private static readonly Vector3I _max = new Vector3I(int.MaxValue, int.MaxValue, int.MaxValue);
+
         private static readonly Vector3I _zero = new Vector3I(0, 0, 0);
         private static readonly Vector3I _one = new Vector3I(1, 1, 1);
 
@@ -203,6 +206,17 @@ namespace Godot
         private static readonly Vector3I _forward = new Vector3I(0, 0, -1);
         private static readonly Vector3I _back = new Vector3I(0, 0, 1);
 
+        /// <summary>
+        /// Min vector, a vector with all components equal to <see cref="int.MinValue"/>. Can be used as a negative integer equivalent of <see cref="Vector3.Inf"/>.
+        /// </summary>
+        /// <value>Equivalent to <c>new Vector3I(int.MinValue, int.MinValue, int.MinValue)</c>.</value>
+        public static Vector3I Min { get { return _min; } }
+        /// <summary>
+        /// Max vector, a vector with all components equal to <see cref="int.MaxValue"/>. Can be used as an integer equivalent of <see cref="Vector3.Inf"/>.
+        /// </summary>
+        /// <value>Equivalent to <c>new Vector3I(int.MaxValue, int.MaxValue, int.MaxValue)</c>.</value>
+        public static Vector3I Max { get { return _max; } }
+
         /// <summary>
         /// Zero vector, a vector with all components set to <c>0</c>.
         /// </summary>

+ 14 - 0
modules/mono/glue/GodotSharp/GodotSharp/Core/Vector4I.cs

@@ -228,9 +228,23 @@ namespace Godot
         }
 
         // Constants
+        private static readonly Vector4I _min = new Vector4I(int.MinValue, int.MinValue, int.MinValue, int.MinValue);
+        private static readonly Vector4I _max = new Vector4I(int.MaxValue, int.MaxValue, int.MaxValue, int.MaxValue);
+
         private static readonly Vector4I _zero = new Vector4I(0, 0, 0, 0);
         private static readonly Vector4I _one = new Vector4I(1, 1, 1, 1);
 
+        /// <summary>
+        /// Min vector, a vector with all components equal to <see cref="int.MinValue"/>. Can be used as a negative integer equivalent of <see cref="Vector4.Inf"/>.
+        /// </summary>
+        /// <value>Equivalent to <c>new Vector4I(int.MinValue, int.MinValue, int.MinValue, int.MinValue)</c>.</value>
+        public static Vector4I Min { get { return _min; } }
+        /// <summary>
+        /// Max vector, a vector with all components equal to <see cref="int.MaxValue"/>. Can be used as an integer equivalent of <see cref="Vector4.Inf"/>.
+        /// </summary>
+        /// <value>Equivalent to <c>new Vector4I(int.MaxValue, int.MaxValue, int.MaxValue, int.MaxValue)</c>.</value>
+        public static Vector4I Max { get { return _max; } }
+
         /// <summary>
         /// Zero vector, a vector with all components set to <c>0</c>.
         /// </summary>