Class Vector2
Inheritance
System.Object
Vector2
Implements
System.IFormattable
Assembly: Eco.Shared.dll
Syntax
public sealed class Vector2 : ValueType, IFormattable, IEquatable<Vector2>
Constructors
Vector2(Single, Single)
Declaration
public Vector2(float x, float y)
Parameters
Type |
Name |
Description |
System.Single |
x |
|
System.Single |
y |
|
Fields
down
Declaration
public static Vector2 down
Field Value
left
Declaration
public static Vector2 left
Field Value
one
Declaration
public static Vector2 one
Field Value
right
Declaration
public static Vector2 right
Field Value
up
Declaration
Field Value
x
Declaration
Field Value
Type |
Description |
System.Single |
|
y
Declaration
Field Value
Type |
Description |
System.Single |
|
zero
Declaration
public static Vector2 zero
Field Value
Properties
Angle
Declaration
public float Angle { get; }
Property Value
Type |
Description |
System.Single |
|
Ceiling
Declaration
public Vector2i Ceiling { get; }
Property Value
Floor
Declaration
public Vector2i Floor { get; }
Property Value
Length
Declaration
public float Length { get; }
Property Value
Type |
Description |
System.Single |
|
Magnitude
Declaration
public float Magnitude { get; }
Property Value
Type |
Description |
System.Single |
|
MagnitudeSq
Declaration
public float MagnitudeSq { get; }
Property Value
Type |
Description |
System.Single |
|
Normalized
Declaration
public Vector2 Normalized { get; }
Property Value
Round
Uses default rounding rules (bank rounding, or round to closest even in case of tie).
I.e. 0.5 -> 0, but 1.5 -> 2.
Declaration
public Vector2i Round { get; }
Property Value
RoundUp
Always rounds to closes greater number. Preferred way of rounding for coordinates, because voxel coordinates always shifted down.
I.e. 0.5 -> 1, 1.5 -> 2 and -1.5 -> -1.
Declaration
public Vector2i RoundUp { get; }
Property Value
X
Declaration
[JsonIgnore]
public float X { get; set; }
Property Value
Type |
Description |
System.Single |
|
Y
Declaration
[JsonIgnore]
public float Y { get; set; }
Property Value
Type |
Description |
System.Single |
|
Methods
AngleBetweenRad(Vector2, Vector2)
Declaration
public static float AngleBetweenRad(Vector2 a, Vector2 b)
Parameters
Returns
Type |
Description |
System.Single |
|
AngleDeg(Vector2)
Declaration
public float AngleDeg(Vector2 to)
Parameters
Returns
Type |
Description |
System.Single |
|
AngleRad(Vector2)
Returns angle between two in degs.
Declaration
public float AngleRad(Vector2 to)
Parameters
Returns
Type |
Description |
System.Single |
|
Distance(Vector2, Vector2)
Declaration
public static float Distance(Vector2 target, Vector2 currentPos)
Parameters
Returns
Type |
Description |
System.Single |
|
DistanceSq(Vector2, Vector2)
Declaration
public static float DistanceSq(Vector2 target, Vector2 currentPos)
Parameters
Returns
Type |
Description |
System.Single |
|
Dot(Vector2, Vector2)
Declaration
public static float Dot(Vector2 v1, Vector2 v2)
Parameters
Returns
Type |
Description |
System.Single |
|
Equals(Vector2)
Declaration
public bool Equals(Vector2 other)
Parameters
Type |
Name |
Description |
Vector2 |
other |
|
Returns
Type |
Description |
System.Boolean |
|
Equals(Object)
Declaration
public override bool Equals(object other)
Parameters
Type |
Name |
Description |
System.Object |
other |
|
Returns
Type |
Description |
System.Boolean |
|
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type |
Description |
System.Int32 |
|
Lerp(Vector2, Vector2, Single)
Declaration
public static Vector2 Lerp(Vector2 a, Vector2 b, float t)
Parameters
Returns
NormalizeSafe(Vector2)
Same as Normalized, but for zero-length vector it returns defaultValue
instead.
Normalized will return System.Single.NaN vector in this case.
Declaration
public Vector2 NormalizeSafe(Vector2 defaultValue = null)
Parameters
Type |
Name |
Description |
Vector2 |
defaultValue |
|
Returns
Rotate(Single)
Declaration
public Vector2 Rotate(float angleDeg)
Parameters
Type |
Name |
Description |
System.Single |
angleDeg |
|
Returns
ToString()
Declaration
public override string ToString()
Returns
Type |
Description |
System.String |
|
Declaration
public string ToString(string formatString, IFormatProvider formatProvider = null)
Parameters
Type |
Name |
Description |
System.String |
formatString |
|
System.IFormatProvider |
formatProvider |
|
Returns
Type |
Description |
System.String |
|
Wrap(Vector2)
Declaration
public Vector2 Wrap(Vector2 wrapSize)
Parameters
Type |
Name |
Description |
Vector2 |
wrapSize |
|
Returns
WrappedDirectionalVector(in Vector2, in Vector2, in Vector2)
Returns directional difference vector wrapped in size
(i.e. WrappedVoxelSize, WrappedChunkSize or WrappedPlotSize).
Declaration
public static Vector2 WrappedDirectionalVector(in Vector2 from, in Vector2 to, in Vector2 size)
Parameters
Returns
WrappedDistance(Vector2)
Declaration
public float WrappedDistance(Vector2 other)
Parameters
Type |
Name |
Description |
Vector2 |
other |
|
Returns
Type |
Description |
System.Single |
|
WrappedDistance(Vector2, Vector2)
Declaration
public static float WrappedDistance(Vector2 a, Vector2 b)
Parameters
Returns
Type |
Description |
System.Single |
|
WrappedDistance(Vector2, Vector2, in Vector2)
Calculates distance for wrapped axes distances for size
(i.e. size may be voxel size, chunk size or plot size).
Declaration
public static float WrappedDistance(Vector2 a, Vector2 b, in Vector2 size)
Parameters
Returns
Type |
Description |
System.Single |
|
WrappedDistanceSq(in Vector2, in Vector2)
Calculates squared distance for wrapped axes distances for voxel world size.
Declaration
public static float WrappedDistanceSq(in Vector2 a, in Vector2 b)
Parameters
Returns
Type |
Description |
System.Single |
|
WrappedDistanceSq(in Vector2, in Vector2, in Vector2)
Calculates squared distance for wrapped axes distances for size
(i.e. size may be voxel size, chunk size or plot size).
Declaration
public static float WrappedDistanceSq(in Vector2 a, in Vector2 b, in Vector2 size)
Parameters
Returns
Type |
Description |
System.Single |
|
X_Z(Single)
Declaration
public Vector3 X_Z(float y = 0F)
Parameters
Type |
Name |
Description |
System.Single |
y |
|
Returns
Type |
Description |
System.Numerics.Vector3 |
|
Operators
Addition(Vector2, Vector2)
Declaration
public static Vector2 operator +(Vector2 v1, Vector2 v2)
Parameters
Returns
Addition(Vector2, Single)
Declaration
public static Vector2 operator +(Vector2 v1, float f)
Parameters
Type |
Name |
Description |
Vector2 |
v1 |
|
System.Single |
f |
|
Returns
Division(Vector2, Vector2)
Declaration
public static Vector2 operator /(Vector2 v1, Vector2 v2)
Parameters
Returns
Division(Vector2, Single)
Declaration
public static Vector2 operator /(Vector2 v1, float f)
Parameters
Type |
Name |
Description |
Vector2 |
v1 |
|
System.Single |
f |
|
Returns
Equality(Vector2, Vector2)
Declaration
public static bool operator ==(Vector2 a, Vector2 b)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Explicit(Vector2 to Vector2i)
Declaration
public static explicit operator Vector2i(Vector2 value)
Parameters
Type |
Name |
Description |
Vector2 |
value |
|
Returns
Inequality(Vector2, Vector2)
Declaration
public static bool operator !=(Vector2 a, Vector2 b)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Multiply(Vector2, Single)
Declaration
public static Vector2 operator *(Vector2 v, float f)
Parameters
Type |
Name |
Description |
Vector2 |
v |
|
System.Single |
f |
|
Returns
Subtraction(Vector2, Vector2)
Declaration
public static Vector2 operator -(Vector2 v1, Vector2 v2)
Parameters
Returns
Subtraction(Vector2, Single)
Declaration
public static Vector2 operator -(Vector2 v1, float f)
Parameters
Type |
Name |
Description |
Vector2 |
v1 |
|
System.Single |
f |
|
Returns
Implements
System.IFormattable
System.IEquatable<>
Extension Methods