22 #ifndef FIFE_MODEL_GRIDS_SQUAREGRID_H
23 #define FIFE_MODEL_GRIDS_SQUAREGRID_H
36 class SquareGrid:
public CellGrid {
38 SquareGrid(
bool allow_diagonals=
false);
39 virtual ~SquareGrid();
41 const std::string& getType()
const;
42 const std::string& getName()
const;
43 bool isAccessible(
const ModelCoordinate& curpos,
const ModelCoordinate& target);
44 float getAdjacentCost(
const ModelCoordinate& curpos,
const ModelCoordinate& target);
45 unsigned int getCellSideCount()
const {
return 4; }
46 ExactModelCoordinate toMapCoordinates(
const ExactModelCoordinate& layer_coords);
47 ModelCoordinate toLayerCoordinates(
const ExactModelCoordinate& map_coord);
48 ExactModelCoordinate toExactLayerCoordinates(
const ExactModelCoordinate& map_coord);
49 void getVertices(std::vector<ExactModelCoordinate>& vtx,
const ModelCoordinate& cell);
53 bool isAccessibleDiagonal(
const ModelCoordinate& curpos,
const ModelCoordinate& target);