Table of Contents

Class DiamondGrid<TCell>

Namespace
Gamelogic.Grids
Assembly
Assembly-CSharp.dll

Represents a diamond grid. At its simplest, diamond grids are square grids that are rotated 45 degrees.

By using suitable dimensions in the map, DiamondGrids can be used to implement isometric grids.

[Version(1, 0, 0)]
public class DiamondGrid<TCell> : AbstractUniformGrid<TCell, DiamondPoint>, IEvenGrid<TCell, DiamondPoint, DiamondPoint>, IVectorGrid<TCell, DiamondPoint, DiamondPoint>, IGrid<TCell, DiamondPoint>, IGrid<DiamondPoint>, IGridSpace<DiamondPoint>, IEnumerable<DiamondPoint>, IEnumerable, ISupportsVertexGrid<DiamondPoint>, ISupportsEdgeGrid<RectPoint>

Type Parameters

TCell
Inheritance
DiamondGrid<TCell>
Implements
Inherited Members
Extension Methods

Constructors

DiamondGrid(int, int)

Construct a new grid in the default shape with the given width and height. No transformations are applied to the grid.

Normally, the static factory methods or shape building methods should be used to create grids. These constructors are provided for advanced usage.

public DiamondGrid(int width, int height)

Parameters

width int
height int

DiamondGrid(int, int, Func<DiamondPoint, bool>)

Construct a new grid whose cells are determined by the given test function.

The test function should only return true for points within the bounds of the default shape.

No transformations are applied to the grid.

Normally, the static factory methods or shape building methods should be used to create grids. These constructors are provided for advanced usage.

public DiamondGrid(int width, int height, Func<DiamondPoint, bool> isInside)

Parameters

width int
height int
isInside Func<DiamondPoint, bool>

DiamondGrid(int, int, Func<DiamondPoint, bool>, DiamondPoint)

Construct a new grid whose cells are determined by the given test function.

The function should only return true for points within the bounds of the rectangle when the given transforms are applied to them.

Normally, the static factory methods or shape building methods should be used to create grids. These constructors are provided for advanced usage.

public DiamondGrid(int width, int height, Func<DiamondPoint, bool> isInside, DiamondPoint offset)

Parameters

width int
height int
isInside Func<DiamondPoint, bool>
offset DiamondPoint

DiamondGrid(int, int, Func<DiamondPoint, bool>, Func<DiamondPoint, DiamondPoint>, Func<DiamondPoint, DiamondPoint>)

public DiamondGrid(int width, int height, Func<DiamondPoint, bool> isInside, Func<DiamondPoint, DiamondPoint> gridPointTransform, Func<DiamondPoint, DiamondPoint> inverseGridPointTransform)

Parameters

width int
height int
isInside Func<DiamondPoint, bool>
gridPointTransform Func<DiamondPoint, DiamondPoint>
inverseGridPointTransform Func<DiamondPoint, DiamondPoint>

DiamondGrid(int, int, Func<DiamondPoint, bool>, Func<DiamondPoint, DiamondPoint>, Func<DiamondPoint, DiamondPoint>, IEnumerable<DiamondPoint>)

public DiamondGrid(int width, int height, Func<DiamondPoint, bool> isInside, Func<DiamondPoint, DiamondPoint> gridPointTransform, Func<DiamondPoint, DiamondPoint> inverseGridPointTransform, IEnumerable<DiamondPoint> neighborDirections)

Parameters

width int
height int
isInside Func<DiamondPoint, bool>
gridPointTransform Func<DiamondPoint, DiamondPoint>
inverseGridPointTransform Func<DiamondPoint, DiamondPoint>
neighborDirections IEnumerable<DiamondPoint>

Properties

GridOrigin

Gives the Zero point as transform by this grids transforms.

protected override DiamondPoint GridOrigin { get; }

Property Value

DiamondPoint

Methods

ArrayPointFromGridPoint(DiamondPoint)

public static ArrayPoint ArrayPointFromGridPoint(DiamondPoint point)

Parameters

point DiamondPoint

Returns

ArrayPoint

ArrayPointFromPoint(DiamondPoint)

protected override ArrayPoint ArrayPointFromPoint(DiamondPoint point)

Parameters

point DiamondPoint

Returns

ArrayPoint

ArrayPointFromPoint(int, int)

protected override ArrayPoint ArrayPointFromPoint(int x, int y)

Parameters

x int
y int

Returns

ArrayPoint

BeginShape()

Use this method to begin a shape building sequence.

public static DiamondOp<TCell> BeginShape()

Returns

DiamondOp<TCell>

CalculateStorage(IEnumerable<DiamondPoint>)

public static IntRect CalculateStorage(IEnumerable<DiamondPoint> points)

Parameters

points IEnumerable<DiamondPoint>

Returns

IntRect

CloneStructure<TNewCellType>()

Returns a grid in the same shape, but with contents in the new type.

public override IGrid<TNewCellType, DiamondPoint> CloneStructure<TNewCellType>()

Returns

IGrid<TNewCellType, DiamondPoint>

Type Parameters

TNewCellType

Default(int, int)

public static DiamondGrid<TCell> Default(int width, int height)

Parameters

width int
height int

Returns

DiamondGrid<TCell>

DefaultContains(DiamondPoint, int, int)

public static bool DefaultContains(DiamondPoint point, int width, int height)

Parameters

point DiamondPoint
width int
height int

Returns

bool

Diamond(int)

public static DiamondGrid<TCell> Diamond(int side)

Parameters

side int

Returns

DiamondGrid<TCell>

FatRectangle(int, int)

public static DiamondGrid<TCell> FatRectangle(int width, int height)

Parameters

width int
height int

Returns

DiamondGrid<TCell>

GetPrincipleNeighborDirections()

This is the set of neighbor directions so that it contains only one of the neighbor directions of a pair of opposites.

public IEnumerable<DiamondPoint> GetPrincipleNeighborDirections()

Returns

IEnumerable<DiamondPoint>

GetSpiralIterator(DiamondPoint, int)

[Version(1, 10, 0)]
public IEnumerable<DiamondPoint> GetSpiralIterator(DiamondPoint origin, int ringCount)

Parameters

origin DiamondPoint
ringCount int

Returns

IEnumerable<DiamondPoint>

GetSpiralIterator(int)

[Version(1, 10, 0)]
public IEnumerable<DiamondPoint> GetSpiralIterator(int ringCount)

Parameters

ringCount int

Returns

IEnumerable<DiamondPoint>

GridPointFromArrayPoint(ArrayPoint)

public static DiamondPoint GridPointFromArrayPoint(ArrayPoint point)

Parameters

point ArrayPoint

Returns

DiamondPoint

HorizontallyWrappedParallelogram(int, int)

Returns a grid wrapped horizontally along a parallelogram.

Since version 1.7

public static WrappedGrid<TCell, DiamondPoint> HorizontallyWrappedParallelogram(int width, int height)

Parameters

width int
height int

Returns

WrappedGrid<TCell, DiamondPoint>

MakeEdgeGrid<TNewCell>()

Makes an edge grid for this grid.

public IGrid<TNewCell, RectPoint> MakeEdgeGrid<TNewCell>()

Returns

IGrid<TNewCell, RectPoint>

Type Parameters

TNewCell

MakeVertexGrid<TNewCell>()

Makes a vertex grid for this grid.

public IGrid<TNewCell, DiamondPoint> MakeVertexGrid<TNewCell>()

Returns

IGrid<TNewCell, DiamondPoint>

Type Parameters

TNewCell

Parallelogram(int, int)

public static DiamondGrid<TCell> Parallelogram(int width, int height)

Parameters

width int
height int

Returns

DiamondGrid<TCell>

PointFromArrayPoint(int, int)

protected override DiamondPoint PointFromArrayPoint(int x, int y)

Parameters

x int
y int

Returns

DiamondPoint

Rectangle(int, int)

public static DiamondGrid<TCell> Rectangle(int width, int height)

Parameters

width int
height int

Returns

DiamondGrid<TCell>

SetNeighborsDiagonals()

public void SetNeighborsDiagonals()

SetNeighborsMain()

public void SetNeighborsMain()

SetNeighborsMainAndDiagonals()

public void SetNeighborsMainAndDiagonals()

Single()

public static DiamondGrid<TCell> Single()

Returns

DiamondGrid<TCell>

ThinRectangle(int, int)

public static DiamondGrid<TCell> ThinRectangle(int width, int height)

Parameters

width int
height int

Returns

DiamondGrid<TCell>

ToString()

public override string ToString()

Returns

string

VerticallyWrappedParallelogram(int, int)

Returns a grid wrapped vertically along a parallelogram.

Since version 1.7

public static WrappedGrid<TCell, DiamondPoint> VerticallyWrappedParallelogram(int width, int height)

Parameters

width int
height int

Returns

WrappedGrid<TCell, DiamondPoint>

WrappedParallelogram(int, int)

Returns a grid wrapped along a parallelogram.

Since version 1.7

public static WrappedGrid<TCell, DiamondPoint> WrappedParallelogram(int width, int height)

Parameters

width int
height int

Returns

WrappedGrid<TCell, DiamondPoint>