Class Map
Describes the layout of the level. Set by the generators, and then used to populate the tilemaps.
Namespace: Global
Assembly: cs.temp.dll.dll
Syntax
public class Map
Constructors
Map(Int32, Int32, TerrainGenerator.TerrainShape, Cell.CellStatus)
Constructor for the Map. Fills the map with new cells with the given status (optional).
Declaration
public Map(int mapWidth, int mapHeight, TerrainGenerator.TerrainShape shape, Cell.CellStatus status = Cell.CellStatus.ValidCell)
Parameters
Type | Name | Description |
---|---|---|
Int32 | mapWidth | The width of the map's 2D array. |
Int32 | mapHeight | The height of the map's 2D array. |
TerrainGenerator.TerrainShape | shape | The shape of the map's terrain. |
Cell.CellStatus | status | The status to set all cells to initially. |
Fields
area
The maps width multiplied by the maps height.
Declaration
public readonly int area
Field Value
Type | Description |
---|---|
Int32 |
height
The height of the map's 2D array.
Declaration
public readonly int height
Field Value
Type | Description |
---|---|
Int32 |
shape
The shape of the map's terrain.
Declaration
public readonly TerrainGenerator.TerrainShape shape
Field Value
Type | Description |
---|---|
TerrainGenerator.TerrainShape |
width
The width of the map's 2D array.
Declaration
public readonly int width
Field Value
Type | Description |
---|---|
Int32 |
Properties
terrainCellCount
Getter and setter for the current number of terrain cells on the map.
Declaration
public int terrainCellCount { get; }
Property Value
Type | Description |
---|---|
Int32 |
Methods
checkForBoundaryCell(Cell)
Check if a given cell on a square or rectangular map is a boundary cell.
Declaration
public void checkForBoundaryCell(Cell cell)
Parameters
Type | Name | Description |
---|---|---|
Cell | cell | The cell to be checked. |
checkForBoundaryCellRandom(Cell)
Check if a given cell on a randomly shaped map is a boundary cell.
Declaration
public void checkForBoundaryCellRandom(Cell cell)
Parameters
Type | Name | Description |
---|---|---|
Cell | cell | The cell to be checked. |
getBoundaryCellPositions()
Get the list of boundary cell positions.
Declaration
public List<Vector2Int> getBoundaryCellPositions()
Returns
Type | Description |
---|---|
List<Vector2Int> | The list of boundary cell positions. |
getCell(Int32, Int32)
Get a cell from the map at the given x and y int positions.
Declaration
public Cell getCell(int x, int y)
Parameters
Type | Name | Description |
---|---|---|
Int32 | x | The x position of the cell. |
Int32 | y | The y position of the cell. |
Returns
Type | Description |
---|---|
Cell |
getCell(Vector2Int)
Get a cell from the map at the given Vector2Int position.
Declaration
public Cell getCell(Vector2Int cellPosition)
Parameters
Type | Name | Description |
---|---|---|
Vector2Int | cellPosition | The postion of the cell in VectorInt format. |
Returns
Type | Description |
---|---|
Cell | The cell at the position. |
getMinDepth(Cell, Boolean)
Finds the minimum depth (z value) from the cells surrounding the cell given.
Declaration
public int getMinDepth(Cell currentCell, bool onlyTerrainCells = false)
Parameters
Type | Name | Description |
---|---|---|
Cell | currentCell | The cell to find the minimum depth for. |
Boolean | onlyTerrainCells | Whether or not only terrain cells should be checked. |
Returns
Type | Description |
---|---|
Int32 | The minimum depth amongst the cell and its neighbours. |
getNeighbours(Cell)
Retrieve the von Neumann neighborhood neighbours of the cells given at a manhattan distance of 1.
Declaration
public List<Cell> getNeighbours(Cell currentCell)
Parameters
Type | Name | Description |
---|---|---|
Cell | currentCell | The cell to get the neighbours for. |
Returns
Type | Description |
---|---|
List<Cell> | The list of all neighbouring cells. |
getRandomTerrainCellPosition()
Get a random terrain cells position.
Declaration
public Vector3Int getRandomTerrainCellPosition()
Returns
Type | Description |
---|---|
Vector3Int | A random terrain cell position. |
isValidCellPosition(Vector2Int)
Checks whether the given position is a free terrain cell not on any bound.
Declaration
public bool isValidCellPosition(Vector2Int position)
Parameters
Type | Name | Description |
---|---|---|
Vector2Int | position | The position to be checked. |
Returns
Type | Description |
---|---|
Boolean | Whether or not the there is a valid cell at the given position. |
updateBoundaryCellPositionList(List<Vector2Int>)
Update the list of boundary cells with a modified list.
Declaration
public void updateBoundaryCellPositionList(List<Vector2Int> newboundaryCellPositions)
Parameters
Type | Name | Description |
---|---|---|
List<Vector2Int> | newboundaryCellPositions | The new list of boundary cell positions. |
updateCellStatus(Cell, Cell.CellStatus, Boolean)
Update the given cells status to a new status, and optinally specify whether intersections are on for cells along paths.
Declaration
public void updateCellStatus(Cell currentCell, Cell.CellStatus status, bool intersectionsEnabled = false)
Parameters
Type | Name | Description |
---|---|---|
Cell | currentCell | The cell to be updated. |
Cell.CellStatus | status | The new status. |
Boolean | intersectionsEnabled | Whether or not a cell can be intersected. Used for path generation. |