35 Grid(
int width,
int height,
int depth,
int cellSize);
38 void setSize(
int cellSize);
39 void init(
int width,
int height,
int depth,
int cellSize);
41 void createCells(Grid::Level size);
43 void addLink(
LinkEntity* link, Grid::Level m_level);
44 std::vector<Cell*> getLinkCells(
LinkEntity* link, Grid::Level m_level);
45 void addLink(
LinkEntity* link, std::vector<Cell*> cell);
47 void addEmpty(
EmptyEntity* entity, Grid::Level m_level);
49 void addNode(
NodeEntity* entity, Grid::Level m_level);
53 Cell* getCell(
int x,
int y,
int z, Grid::Level m_level);
54 Cell* getCell(
const Entity& position, Grid::Level m_level);
55 std::vector<Cell*> getAdjacentCells(
int x,
int y,
int z, Grid::Level m_level);
56 std::vector<Cell*> getAdjacentCells(
const Entity& entity, Grid::Level m_level);
57 std::vector<Cell*>& getCells(Grid::Level m_level);
63 bool setIntersectedCameraCells(
ICamera& camera);
65 std::vector<Cell*> getIntersectedCameraCells(
ICamera& camera);
67 bool gridLevelChanged();
70 void setGridLevel(Level newLevel);
72 int getLevelCellScale();
74 int getLevelCellScale(Level level);
75 std::vector<Cell*> interceptedCells;
78 std::vector<Cell*> _cells;
79 std::vector<Cell*> _parentCells;
80 std::vector<Cell*> _superParentCells;
93 std::map<Level, GridLevelData> gridLevelsData;
95 std::map<Level, int> gridLevels = {
101 Level _level = Level::Basic;
102 Level _lastLevel = Level::Basic;