Roguelike
 All Classes Namespaces Functions Variables Typedefs Friends Pages
chunk_matrix.h
1 
22 #ifndef _CHUNK_MATRIX_H
23 #define _CHUNK_MATRIX_H
24 
25 #include <stdlib.h>
26 #include <vector>
27 
28 #include <chunk.h>
29 #include <constants.h>
30 #include <int_point.h>
31 #include <world_map.h>
32 
49 using namespace std;
50 
52 {
53  typedef std::vector<std::vector<MapTile> > MapTileMatrix;
54  private:
58  int diameter;
59 
64  vector<vector<Chunk> > model;
65 
70 
71 
72  public:
73  ChunkMatrix();
74  ChunkMatrix(int _diameter, IntPoint center_chunk, MapTileMatrix &world_map);
75 
81  void populate_initial(IntPoint center_chunk, MapTileMatrix &world_map);
82 
83 
87  void pretty_print();
88 
96  bool out_of_bounds(IntPoint local_chunk_point);
97 
102  IntPoint get_offset();
103 
109  void set_offset(IntPoint point);
110 
115  Chunk* get_chunk_abs(IntPoint abs_chunk_loc);
116 
121  Chunk* get_chunk_abs(int row, int col);
122 
128  Chunk* get_center_chunk();
129 
153  void shift_matrix(IntPoint directions, MapTileMatrix &world_map);
154 
158  void serialize_all();
159 };
160 
161 #endif
IntPoint offset
Definition: chunk_matrix.h:69
vector< vector< Chunk > > model
Definition: chunk_matrix.h:64
Definition: chunk.h:98
Definition: int_point.h:26
Definition: chunk_matrix.h:51
int diameter
Definition: chunk_matrix.h:58