Struct GridPoint2
A discrete 2D vector, used to index into 2D grids.
public readonly struct GridPoint2 : IEquatable<GridPoint2>
- Implements
- Inherited Members
- Extension Methods
Remarks
Grid points work like vectors, except their components are integers. Grid points can be used on their own, but they are frequently used with grids and shapes.
<xref href="Gamelogic.Grids2.GridPoint2" data-throw-if-not-resolved="false"></xref> was introduced before Unity's <xref href="UnityEngine.Vector2Int" data-throw-if-not-resolved="false"></xref>, and serve the same purpose. The types are
implicitly convertible.
Constructors
- GridPoint2(int, int)
Creates a new instance of the GridPoint2 struct.
Fields
- One
The grid point with all coordinates equal to 1.
- Zero
The zero grid point, also called the origin. All coordinates are 0.
Properties
- X
The X coordinate of this point.
- Y
The Y coordinate of this point.
Methods
- Add(GridPoint2)
Adds an other grid point to this grid point and returns the result.
- Div(GridPoint2)
Gives a new point that represents the first point divided by the second point component-wise.The division is integer division.
- Dot(GridPoint2)
Calculates the dot product between this grid point and another.
- Equals(GridPoint2)
Compares this grid point with another grid point for equality. Two grid points are equal if their respective coordinates are equal.
- FloorDiv(GridPoint2)
Gives a new point that represents the first point divided by the second point component-wise.The division is integer division.
- FloorDiv(int)
Divides each coordinate with r, using integer floor division.
- FloorMod(GridPoint2)
Gives a new point that represents the reminder when the first point is divided by the second point component-wise. The division is integer floor division.
- GetColor(ColorFunction)
Gets the color index for this point for the given color function.
- GetColor(int, int, int)
Gets the color index for this point for the given coloring parameters.
- GetForwardVectorRays(IEnumerable<GridPoint2>)
Gets the maps that represent the forward vector rays through this point in the given list of directions.
- GetReverseVectorRays(IEnumerable<GridPoint2>)
Gets the maps that represent the reverse vector lines through this point in the given list of directions.
- GetVectorLine(GridPoint2)
Gets the map that represents a line through this point in the given direction.
- GetVectorLines(IEnumerable<GridPoint2>)
Gets the maps that represent the vector lines through this point in the given list of directions.
- GetVectorNeighbors(IEnumerable<GridPoint2>)
Gets the vector neighbors of this point in the given direction.
- HexDot(GridPoint2)
Calculates the hex-grid equivalent for the dot product.
- Max(GridPoint2, GridPoint2)
Calculates a new grid point with coordinates the maximum of the respective coordinates of two grid points.
- Min(GridPoint2, GridPoint2)
Calculates a new grid point with coordinates the minimum of the respective coordinates of two grid points.
- Mod(GridPoint2)
Gives a new point that represents the reminder when the first point is divided by the second point component-wise.The division is integer division.
- Mul(GridPoint2)
Gives a new point that represents the first point multiplied by the second point component-wise.
- Mul(int)
Multiplies each coordinate with the specified integer.
- Negate()
Returns the point with each coordinate negated.
- Perp()
Calculates the vector perpendicular to this vector (rotated counter-clockwise).
- PerpDot(GridPoint2)
Calculates the perp dot product between this grid point and another.
- Subtract(GridPoint2)
Subtracts the other point from this point, and returns the result.
- To3DXY(int)
Converts this point to GridPoint 3.
- To3DXZ(int)
Converts the point to GridPoint2.
- ToVector2()
Converts this grid point to a Vector2.
- TruncDiv(GridPoint2)
Gives a new point that represents the first point divided by the second point component-wise.The division is integer division.
- TruncDiv(int)
Divides each coordinate with r, using integer trunc division.
- TruncMod(GridPoint2)
Gives a new point that represents the reminder when the first point is divided by the second point component-wise. The division is integer trunc division.
Operators
- operator +(GridPoint2, GridPoint2)
Adds two points by adding their corresponding coordinates.
- operator /(GridPoint2, GridPoint2)
Divides corresponding coordinates using integer division.
- operator /(GridPoint2, int)
Divides each coordinate by the integer using integer division.
- operator ==(GridPoint2, GridPoint2)
Compares two points for equality.
- explicit operator GridPoint2(Vector2)
Converts a Vector2 to a GridPoint2 by casting components to integers.
- implicit operator Vector2(GridPoint2)
Converts this grid point to a Vector2.
- implicit operator Vector2Int(GridPoint2)
Converts this grid point to a Vector2Int.
- implicit operator GridPoint2(Vector2Int)
Converts a Vector2Int to a GridPoint2.
- operator !=(GridPoint2, GridPoint2)
Checks whether two points are not equal.
- operator %(GridPoint2, GridPoint2)
Divides corresponding coordinates using integer division and return the remainders as a new grid point.
- operator *(GridPoint2, GridPoint2)
Multiplies corresponding coordinates.
- operator *(GridPoint2, int)
Multiplies each coordinate with the integer.
- operator *(int, GridPoint2)
Multiplies each coordinate with the integer.
- operator -(GridPoint2, GridPoint2)
Subtracts one point from another by subtracting corresponding coordinates.
- operator -(GridPoint2)
Negates the given vector.
- operator +(GridPoint2)
This operations does not affect the point.