feat: intervectoral implicit conversions added
This commit is contained in:
@@ -84,6 +84,7 @@ public readonly struct Vector2D(float x, float y) : IEquatable<Vector2D>
|
||||
|
||||
public static implicit operator System.Numerics.Vector2(Vector2D vector) => new(vector.X, vector.Y);
|
||||
public static implicit operator Vector2D(System.Numerics.Vector2 vector) => new(vector.X, vector.Y);
|
||||
public static implicit operator Vector2D(Vector2DInt vector) => new(vector.X, vector.Y);
|
||||
public static implicit operator Vector2D(Vector3D vector) => new(vector.X, vector.Y);
|
||||
public static implicit operator Vector2D(System.Numerics.Vector3 vector) => new(vector.X, vector.Y);
|
||||
|
||||
|
@@ -77,6 +77,7 @@ public readonly struct Vector2DInt(int x, int y) : IEquatable<Vector2DInt>
|
||||
public static bool operator ==(Vector2DInt left, Vector2DInt right) => left.X == right.X && left.Y == right.Y;
|
||||
public static bool operator !=(Vector2DInt left, Vector2DInt right) => left.X != right.X || left.Y != right.Y;
|
||||
|
||||
public static implicit operator Vector2DInt(Vector2D vector) => new((int)vector.X, (int)vector.Y);
|
||||
public static implicit operator Vector2DInt(Vector3DInt vector) => new(vector.X, vector.Y);
|
||||
|
||||
/// <summary>
|
||||
|
@@ -94,6 +94,7 @@ public readonly struct Vector3D(float x, float y, float z) : IEquatable<Vector3D
|
||||
|
||||
public static implicit operator System.Numerics.Vector3(Vector3D vector) => new(vector.X, vector.Y, vector.Z);
|
||||
public static implicit operator Vector3D(System.Numerics.Vector3 vector) => new(vector.X, vector.Y, vector.Z);
|
||||
public static implicit operator Vector3D(Vector3DInt vector) => new(vector.X, vector.Y, vector.Z);
|
||||
public static implicit operator Vector3D(Vector2D vector) => new(vector.X, vector.Y, 0f);
|
||||
public static implicit operator Vector3D(System.Numerics.Vector2 vector) => new(vector.X, vector.Y, 0f);
|
||||
|
||||
|
@@ -87,6 +87,7 @@ public readonly struct Vector3DInt(int x, int y, int z) : IEquatable<Vector3DInt
|
||||
public static bool operator ==(Vector3DInt left, Vector3DInt right) => left.X == right.X && left.Y == right.Y && left.Z == right.Z;
|
||||
public static bool operator !=(Vector3DInt left, Vector3DInt right) => left.X != right.X || left.Y != right.Y || left.Z != right.Z;
|
||||
|
||||
public static implicit operator Vector3DInt(Vector3D vector) => new((int)vector.X, (int)vector.Y, (int)vector.Z);
|
||||
public static implicit operator Vector3DInt(Vector2DInt vector) => new(vector.X, vector.Y, 0);
|
||||
|
||||
/// <summary>
|
||||
|
Reference in New Issue
Block a user