30#ifndef HORIZON_ZONE_GAME_GRIDHOLDER_HPP
31#define HORIZON_ZONE_GAME_GRIDHOLDER_HPP
42template<
class ZONE_OBJECT_TYPES>
61 assert(x >= 0 && y >= 0);
69 template<
class VISITOR,
class CONTAINER_TYPE>
72 for (uint16_t x = 0; x <
_width; ++x) {
73 for (uint16_t y = 0; y <
_height; ++y) {
79 template<
class VISITOR,
class CONTAINER_TYPE>
#define MAX_GRIDS_PER_MAP
Definition: GridDefinitions.hpp:66
GridHolder is a container for Grids, handles the visiting of grids.
Definition: GridHolder.hpp:44
int _height
Definition: GridHolder.hpp:86
int _width
Definition: GridHolder.hpp:86
void visit(int x, int y, GridReferenceContainerVisitor< VISITOR, GridReferenceContainer< CONTAINER_TYPE > > &visitor)
Definition: GridHolder.hpp:80
GridType _grids[MAX_GRIDS_PER_MAP][MAX_GRIDS_PER_MAP]
Definition: GridHolder.hpp:87
~GridHolder()
Definition: GridHolder.hpp:53
uint16_t width()
Definition: GridHolder.hpp:67
Grid< ZONE_OBJECT_TYPES > GridType
Definition: GridHolder.hpp:46
void visit_all(GridReferenceContainerVisitor< VISITOR, GridReferenceContainer< CONTAINER_TYPE > > &visitor)
Definition: GridHolder.hpp:70
uint16_t height()
Definition: GridHolder.hpp:66
GridHolder(int width, int height)
Definition: GridHolder.hpp:48
GridType & get_grid(int x, int y)
Definition: GridHolder.hpp:57
Definition: GridReferenceContainerVisitor.hpp:70
Definition: GridReferenceContainer.hpp:149
void visit(GridReferenceContainerVisitor< VISITOR, GridReferenceContainer< GRID_OBJECT_TYPES > > &visitor)
Definition: Grid.hpp:61