Table of Contents

Class RectFEV

Namespace
Gamelogic.Grids2.Examples
Assembly
Assembly-CSharp.dll
public static class RectFEV
Inheritance
RectFEV
Inherited Members

Methods

AverageDistance(IEnumerable<GridPoint2>, Wall)

public static float AverageDistance(IEnumerable<GridPoint2> path, RectFEV.Wall wall)

Parameters

path IEnumerable<GridPoint2>
wall RectFEV.Wall

Returns

float

ContainsEdge(IImplicitShape<GridPoint2>, GridPoint2)

public static bool ContainsEdge(IImplicitShape<GridPoint2> faceShape, GridPoint2 edgeInEdgeSpace)

Parameters

faceShape IImplicitShape<GridPoint2>
edgeInEdgeSpace GridPoint2

Returns

bool

ContainsFEV(IImplicitShape<GridPoint2>, GridPoint2)

public static bool ContainsFEV(IImplicitShape<GridPoint2> faceShape, GridPoint2 fevInFEVSpace)

Parameters

faceShape IImplicitShape<GridPoint2>
fevInFEVSpace GridPoint2

Returns

bool

ContainsVertex(IImplicitShape<GridPoint2>, GridPoint2)

public static bool ContainsVertex(IImplicitShape<GridPoint2> faceShape, GridPoint2 vertexInVertexSpace)

Parameters

faceShape IImplicitShape<GridPoint2>
vertexInVertexSpace GridPoint2

Returns

bool

ContinueMaze(IGrid<GridPoint2, MazeType>, Symmetry)

Continue Maze process a maze and and creates the paths between unconnected sets if any potential one is found.

public static void ContinueMaze(IGrid<GridPoint2, RectFEV.MazeType> maze, RectFEV.Symmetry symmetry)

Parameters

maze IGrid<GridPoint2, RectFEV.MazeType>
symmetry RectFEV.Symmetry

EdgeBetween(GridPoint2, GridPoint2)

public static Vector2 EdgeBetween(GridPoint2 point1, GridPoint2 point2)

Parameters

point1 GridPoint2
point2 GridPoint2

Returns

Vector2

EdgeShape(IExplicitShape<GridPoint2>)

public static IExplicitShape<GridPoint2> EdgeShape(this IExplicitShape<GridPoint2> faceShape)

Parameters

faceShape IExplicitShape<GridPoint2>

Returns

IExplicitShape<GridPoint2>

EdgeToFace(Vector2)

public static Vector2 EdgeToFace(Vector2 point)

Parameters

point Vector2

Returns

Vector2

EdgeTowards(GridPoint2, GridPoint2)

public static Vector2 EdgeTowards(GridPoint2 point, GridPoint2 direction)

Parameters

point GridPoint2
direction GridPoint2

Returns

Vector2

EdgesOfFace(Vector2)

public static Vector2[] EdgesOfFace(Vector2 faceInFaceSpace)

Parameters

faceInFaceSpace Vector2

Returns

Vector2[]

FEVShape(IExplicitShape<GridPoint2>)

public static IExplicitShape<GridPoint2> FEVShape(this IExplicitShape<GridPoint2> faceShape)

Parameters

faceShape IExplicitShape<GridPoint2>

Returns

IExplicitShape<GridPoint2>

FEVToFace(Vector2)

public static Vector2 FEVToFace(Vector2 point)

Parameters

point Vector2

Returns

Vector2

FEVsOfFace(Vector2)

public static Vector2[] FEVsOfFace(Vector2 faceInFaceSpace)

Parameters

faceInFaceSpace Vector2

Returns

Vector2[]

FaceToEdge(Vector2)

public static Vector2 FaceToEdge(Vector2 point)

Parameters

point Vector2

Returns

Vector2

FaceToEdgeMap()

public static IMap<Vector2, Vector2> FaceToEdgeMap()

Returns

IMap<Vector2, Vector2>

FaceToFEV(Vector2)

public static Vector2 FaceToFEV(Vector2 point)

Parameters

point Vector2

Returns

Vector2

FaceToFEVMap()

public static IMap<Vector2, Vector2> FaceToFEVMap()

Returns

IMap<Vector2, Vector2>

FaceToVertex(Vector2)

public static Vector2 FaceToVertex(Vector2 face)

Parameters

face Vector2

Returns

Vector2

FaceToVertexMap()

public static IMap<Vector2, Vector2> FaceToVertexMap()

Returns

IMap<Vector2, Vector2>

FacesOfEdge(Vector2)

public static Vector2[] FacesOfEdge(Vector2 edgeInFaceSpace)

Parameters

edgeInFaceSpace Vector2

Returns

Vector2[]

FacesOfFEV(Vector2)

public static Vector2[] FacesOfFEV(Vector2 fev)

Parameters

fev Vector2

Returns

Vector2[]

FacesOfVertex(Vector2)

public static Vector2[] FacesOfVertex(Vector2 vertexInFaceSpace)

Parameters

vertexInFaceSpace Vector2

Returns

Vector2[]

GenerateMaze(IExplicitShape<GridPoint2>, Symmetry)

Generate Maze generates a maze on a grid using a symmetry mode.

public static IGrid<GridPoint2, RectFEV.MazeType> GenerateMaze(IExplicitShape<GridPoint2> fevGrid, RectFEV.Symmetry symmetry)

Parameters

fevGrid IExplicitShape<GridPoint2>
symmetry RectFEV.Symmetry

Returns

IGrid<GridPoint2, RectFEV.MazeType>

GenerateMaze3<TCell>(IGrid<GridPoint2, TCell>)

public static IGrid<GridPoint2, bool> GenerateMaze3<TCell>(IGrid<GridPoint2, TCell> fevGrid)

Parameters

fevGrid IGrid<GridPoint2, TCell>

Returns

IGrid<GridPoint2, bool>

Type Parameters

TCell

GenerateMaze5<TCell>(IGrid<GridPoint2, TCell>)

public static IGrid<GridPoint2, bool> GenerateMaze5<TCell>(IGrid<GridPoint2, TCell> fevGrid)

Parameters

fevGrid IGrid<GridPoint2, TCell>

Returns

IGrid<GridPoint2, bool>

Type Parameters

TCell

GenerateMaze9<TCell>(IGrid<GridPoint2, TCell>)

public static IGrid<GridPoint2, bool> GenerateMaze9<TCell>(IGrid<GridPoint2, TCell> fevGrid)

Parameters

fevGrid IGrid<GridPoint2, TCell>

Returns

IGrid<GridPoint2, bool>

Type Parameters

TCell

GenerateMaze9b<TCell>(IGrid<GridPoint2, TCell>)

public static IGrid<GridPoint2, bool> GenerateMaze9b<TCell>(IGrid<GridPoint2, TCell> fevGrid)

Parameters

fevGrid IGrid<GridPoint2, TCell>

Returns

IGrid<GridPoint2, bool>

Type Parameters

TCell

GenerateMaze9c<TCell>(IGrid<GridPoint2, TCell>)

public static IGrid<GridPoint2, bool> GenerateMaze9c<TCell>(IGrid<GridPoint2, TCell> fevGrid)

Parameters

fevGrid IGrid<GridPoint2, TCell>

Returns

IGrid<GridPoint2, bool>

Type Parameters

TCell

GenerateMaze_Reference<TCell>(IGrid<GridPoint2, TCell>, Symmetry)

public static IGrid<GridPoint2, bool> GenerateMaze_Reference<TCell>(IGrid<GridPoint2, TCell> fevGrid, RectFEV.Symmetry symmetry)

Parameters

fevGrid IGrid<GridPoint2, TCell>
symmetry RectFEV.Symmetry

Returns

IGrid<GridPoint2, bool>

Type Parameters

TCell

GenerateMaze<TCell>(IGrid<GridPoint2, TCell>, Func<GridPoint2, int>, Wall[], GridPoint2[][])

public static IGrid<GridPoint2, bool> GenerateMaze<TCell>(IGrid<GridPoint2, TCell> fevGrid, Func<GridPoint2, int> getColoring, RectFEV.Wall[] wallDirections, GridPoint2[][] faceDirections)

Parameters

fevGrid IGrid<GridPoint2, TCell>
getColoring Func<GridPoint2, int>
wallDirections Wall[]
faceDirections GridPoint2[][]

Returns

IGrid<GridPoint2, bool>

Type Parameters

TCell

Get1234Coloring(GridPoint2)

public static int Get1234Coloring(GridPoint2 point)

Parameters

point GridPoint2

Returns

int

Get5Coloring(GridPoint2)

public static int Get5Coloring(GridPoint2 point)

Parameters

point GridPoint2

Returns

int

Get9Coloring(GridPoint2)

public static int Get9Coloring(GridPoint2 point)

Parameters

point GridPoint2

Returns

int

Get9bColoring(GridPoint2)

public static int Get9bColoring(GridPoint2 point)

Parameters

point GridPoint2

Returns

int

Get9cColoring(GridPoint2)

public static int Get9cColoring(GridPoint2 point)

Parameters

point GridPoint2

Returns

int

GetCheckboardColoring(GridPoint2)

public static int GetCheckboardColoring(GridPoint2 point)

Parameters

point GridPoint2

Returns

int

GetType(GridPoint2)

public static RectFEV.FEVType GetType(GridPoint2 point)

Parameters

point GridPoint2

Returns

RectFEV.FEVType

IsRoom(GridPoint2)

public static bool IsRoom(GridPoint2 p)

Parameters

p GridPoint2

Returns

bool

NthOrLast<T>(IEnumerable<T>, int)

public static T NthOrLast<T>(this IEnumerable<T> source, int n)

Parameters

source IEnumerable<T>
n int

Returns

T

Type Parameters

T

RandomItem<T>(IEnumerable<T>, float)

Returns a random element from a source.

public static T RandomItem<T>(this IEnumerable<T> source, float p)

Parameters

source IEnumerable<T>

The list.

p float

Returns

T

A item randomly selected from the source.

Type Parameters

T

The type of items generated from the source.

SampleRandom<T>(IEnumerable<T>)

public static IEnumerable<T> SampleRandom<T>(this IEnumerable<T> source)

Parameters

source IEnumerable<T>

Returns

IEnumerable<T>

Type Parameters

T

VertexBetween(GridPoint2, GridPoint2)

public static Vector2 VertexBetween(GridPoint2 point1, GridPoint2 point2)

Parameters

point1 GridPoint2
point2 GridPoint2

Returns

Vector2

VertexShape(IExplicitShape<GridPoint2>)

public static IExplicitShape<GridPoint2> VertexShape(this IExplicitShape<GridPoint2> faceShape)

Parameters

faceShape IExplicitShape<GridPoint2>

Returns

IExplicitShape<GridPoint2>

VertexToFace(Vector2)

public static Vector2 VertexToFace(Vector2 edge)

Parameters

edge Vector2

Returns

Vector2

VertexTowards(GridPoint2, GridPoint2)

public static Vector2 VertexTowards(GridPoint2 point1, GridPoint2 direction)

Parameters

point1 GridPoint2
direction GridPoint2

Returns

Vector2

VerticesOfFace(Vector2)

public static Vector2[] VerticesOfFace(Vector2 faceInFaceSpace)

Parameters

faceInFaceSpace Vector2

Returns

Vector2[]