Class that handles all map related functions.
More...
#include <script_map.hpp>
|
static const int | TILE_INVALID = INVALID_TILE.base() |
| Invalid TileIndex.
|
|
Class that handles all map related functions.
◆ DistanceFromEdge()
static int AIMap::DistanceFromEdge |
( |
TileIndex |
tile | ) |
|
|
static |
Calculates the shortest distance to the edge.
- Parameters
-
tile | From where the distance has to be calculated. |
- Precondition
- IsValidTile(tile).
- Returns
- The distances to the closest edge.
◆ DistanceManhattan()
Calculates the Manhattan distance; the difference of the X and Y added together.
- Parameters
-
tile_from | The start tile. |
tile_to | The destination tile. |
- Precondition
- IsValidTile(tile_from).
-
IsValidTile(tile_to).
- Returns
- The Manhattan distance between the tiles.
◆ DistanceMax()
Calculates the distance between two tiles via 1D calculation.
This means the distance between X or the distance between Y, depending on which one is bigger.
- Parameters
-
tile_from | The start tile. |
tile_to | The destination tile. |
- Precondition
- IsValidTile(tile_from).
-
IsValidTile(tile_to).
- Returns
- The maximum distance between the tiles.
◆ DistanceSquare()
The squared distance between the two tiles.
This is the distance is the length of the shortest straight line between both points.
- Parameters
-
tile_from | The start tile. |
tile_to | The destination tile. |
- Precondition
- IsValidTile(tile_from).
-
IsValidTile(tile_to).
- Returns
- The squared distance between the tiles.
◆ GetMapSize()
static int AIMap::GetMapSize |
( |
| ) |
|
|
static |
Gets the number of tiles in the map.
- Returns
- The size of the map in tiles.
- Postcondition
- Return value is always positive.
◆ GetMapSizeX()
static int AIMap::GetMapSizeX |
( |
| ) |
|
|
static |
Gets the amount of tiles along the SW and NE border.
- Returns
- The length along the SW and NE borders.
- Postcondition
- Return value is always positive.
◆ GetMapSizeY()
static int AIMap::GetMapSizeY |
( |
| ) |
|
|
static |
Gets the amount of tiles along the SE and NW border.
- Returns
- The length along the SE and NW borders.
- Postcondition
- Return value is always positive.
◆ GetTileIndex()
static TileIndex AIMap::GetTileIndex |
( |
int |
x, |
|
|
int |
y |
|
) |
| |
|
static |
Gets the TileIndex given a x,y-coordinate.
- Parameters
-
x | The X coordinate. |
y | The Y coordinate. |
- Returns
- The TileIndex for the given (x,y) coordinate.
- Postcondition
- When 0 <= x && x < GetMapSizeX() && 0 <= y && y < GetMapSizeY(), then a valid tile index is returned. Otherwise it may be invalid, but could be used to calculated neighbouring tiles, e.g. tile + AIMap.GetTileIndex(-1, -1) gets the tile index of the tile to the north. But be aware that even when tile is a valid tile, the result might not be a valid tile.
◆ GetTileX()
Gets the place along the SW/NE border (X-value).
- Parameters
-
tile | The tile to get the X-value of. |
- Precondition
- IsValidTile(tile).
- Returns
- The X-value.
- Postcondition
- Return value is always lower than GetMapSizeX().
◆ GetTileY()
Gets the place along the SE/NW border (Y-value).
- Parameters
-
tile | The tile to get the Y-value of. |
- Precondition
- IsValidTile(tile).
- Returns
- The Y-value.
- Postcondition
- Return value is always lower than GetMapSizeY().
◆ IsValidTile()
static bool AIMap::IsValidTile |
( |
TileIndex |
tile | ) |
|
|
static |
Checks whether the given tile is valid.
- Parameters
-
- Returns
- True is the tile it within the boundaries of the map.