diff options
author | kleonc <9283098+kleonc@users.noreply.github.com> | 2023-04-07 17:44:36 +0200 |
---|---|---|
committer | Yuri Sizov <yuris@humnom.net> | 2023-04-07 17:44:36 +0200 |
commit | a5572ba5a39cdb74c022464466a1141d1f878572 (patch) | |
tree | aec9fe19bb07a8eaacfc90de7b9c8f3631c64e8e | |
parent | f645bbaffb351a2af908d0a42ff81c1351095691 (diff) |
C# Truncate instead of round in Vector2/3/4 to Vector2I/3I/4I conversion
(cherry picked from commit f53d3382af3ce04c924e6f92bb4c81ba349cfd8f)
-rw-r--r-- | doc/classes/Vector2i.xml | 2 | ||||
-rw-r--r-- | doc/classes/Vector3i.xml | 2 | ||||
-rw-r--r-- | doc/classes/Vector4i.xml | 2 | ||||
-rw-r--r-- | modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2I.cs | 10 | ||||
-rw-r--r-- | modules/mono/glue/GodotSharp/GodotSharp/Core/Vector3I.cs | 11 | ||||
-rw-r--r-- | modules/mono/glue/GodotSharp/GodotSharp/Core/Vector4I.cs | 12 |
6 files changed, 18 insertions, 21 deletions
diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml index db6bc8f237..8c429e86f1 100644 --- a/doc/classes/Vector2i.xml +++ b/doc/classes/Vector2i.xml @@ -31,7 +31,7 @@ <return type="Vector2i" /> <param index="0" name="from" type="Vector2" /> <description> - Constructs a new [Vector2i] from [Vector2]. The floating point coordinates will be truncated. + Constructs a new [Vector2i] from the given [Vector2] by truncating components' fractional parts (rounding towards zero). For a different behavior consider passing the result of [method Vector2.ceil], [method Vector2.floor] or [method Vector2.round] to this constructor instead. </description> </constructor> <constructor name="Vector2i"> diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml index 5c6dc3c1c5..ce411d954e 100644 --- a/doc/classes/Vector3i.xml +++ b/doc/classes/Vector3i.xml @@ -31,7 +31,7 @@ <return type="Vector3i" /> <param index="0" name="from" type="Vector3" /> <description> - Constructs a new [Vector3i] from [Vector3]. The floating point coordinates will be truncated. + Constructs a new [Vector3i] from the given [Vector3] by truncating components' fractional parts (rounding towards zero). For a different behavior consider passing the result of [method Vector3.ceil], [method Vector3.floor] or [method Vector3.round] to this constructor instead. </description> </constructor> <constructor name="Vector3i"> diff --git a/doc/classes/Vector4i.xml b/doc/classes/Vector4i.xml index 95797df90a..0885525d7c 100644 --- a/doc/classes/Vector4i.xml +++ b/doc/classes/Vector4i.xml @@ -27,7 +27,7 @@ <return type="Vector4i" /> <param index="0" name="from" type="Vector4" /> <description> - Constructs a new [Vector4i] from the given [Vector4]. + Constructs a new [Vector4i] from the given [Vector4] by truncating components' fractional parts (rounding towards zero). For a different behavior consider passing the result of [method Vector4.ceil], [method Vector4.floor] or [method Vector4.round] to this constructor instead. </description> </constructor> <constructor name="Vector4i"> diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2I.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2I.cs index e849939ebb..0dac8205b6 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2I.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2I.cs @@ -504,15 +504,15 @@ namespace Godot } /// <summary> - /// Converts a <see cref="Vector2"/> to a <see cref="Vector2I"/>. + /// Converts a <see cref="Vector2"/> to a <see cref="Vector2I"/> by truncating + /// components' fractional parts (rounding towards zero). For a different + /// behavior consider passing the result of <see cref="Vector2.Ceil"/>, + /// <see cref="Vector2.Floor"/> or <see cref="Vector2.Round"/> to this conversion operator instead. /// </summary> /// <param name="value">The vector to convert.</param> public static explicit operator Vector2I(Vector2 value) { - return new Vector2I( - Mathf.RoundToInt(value.X), - Mathf.RoundToInt(value.Y) - ); + return new Vector2I((int)value.X, (int)value.Y); } /// <summary> diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector3I.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector3I.cs index fe899527ef..a2927533f8 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector3I.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector3I.cs @@ -559,16 +559,15 @@ namespace Godot } /// <summary> - /// Converts a <see cref="Vector3"/> to a <see cref="Vector3I"/>. + /// Converts a <see cref="Vector3"/> to a <see cref="Vector3I"/> by truncating + /// components' fractional parts (rounding towards zero). For a different + /// behavior consider passing the result of <see cref="Vector3.Ceil"/>, + /// <see cref="Vector3.Floor"/> or <see cref="Vector3.Round"/> to this conversion operator instead. /// </summary> /// <param name="value">The vector to convert.</param> public static explicit operator Vector3I(Vector3 value) { - return new Vector3I( - Mathf.RoundToInt(value.X), - Mathf.RoundToInt(value.Y), - Mathf.RoundToInt(value.Z) - ); + return new Vector3I((int)value.X, (int)value.Y, (int)value.Z); } /// <summary> diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector4I.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector4I.cs index f065327066..bb552b939d 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector4I.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Vector4I.cs @@ -580,17 +580,15 @@ namespace Godot } /// <summary> - /// Converts a <see cref="Vector4"/> to a <see cref="Vector4I"/>. + /// Converts a <see cref="Vector4"/> to a <see cref="Vector4I"/> by truncating + /// components' fractional parts (rounding towards zero). For a different + /// behavior consider passing the result of <see cref="Vector4.Ceil"/>, + /// <see cref="Vector4.Floor"/> or <see cref="Vector4.Round"/> to this conversion operator instead. /// </summary> /// <param name="value">The vector to convert.</param> public static explicit operator Vector4I(Vector4 value) { - return new Vector4I( - Mathf.RoundToInt(value.X), - Mathf.RoundToInt(value.Y), - Mathf.RoundToInt(value.Z), - Mathf.RoundToInt(value.W) - ); + return new Vector4I((int)value.X, (int)value.Y, (int)value.Z, (int)value.W); } /// <summary> |