1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-22 15:06:45 +00:00

C# Truncate instead of round in Vector2/3/4 to Vector2I/3I/4I conversion

This commit is contained in:
kleonc
2023-03-29 23:56:34 +02:00
parent c29866dbc0
commit f53d3382af
6 changed files with 18 additions and 21 deletions

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>