Building Game Engines
TileMap.hpp
Go to the documentation of this file.
1 #ifndef TILE_MAP_HPP
2 #define TILE_MAP_HPP
3 
4 #include <string>
5 
7 #include "Component.hpp"
8 
9 // The tile map for the game, acts as a component
14 class TileMap : public Component {
15  public:
26  TileMap(SDL_Texture* texture, int rows, int cols, int _TileWidth, int _TileHeight, int _mapX, int _mapY);
27 
28  // Destructor
33  ~TileMap();
38  void LoadMap(const char* filename);
44  void SaveMap(const char* filename);
50  void PrintMap();
57  void SetTile(int x, int y, int type);
62  int GetTileType(int x, int y);
66  int GetNumRows();
70  int GetNumCols();
75  SDL_Rect GetTileRect(int x, int y);
80  virtual void Render(SDL_Renderer* ren);
84  virtual void Update();
85 
86  private:
90  int m_Rows, m_Cols;
94  int m_TileWidth, m_TileHeight;
100  int m_MapX, m_MapY;
104  SDL_Surface* m_TileSpriteSheet;
108  SDL_Texture* m_Texture;
112  int* m_Tiles;
113 };
114 
115 #endif
SDL_Rect GetTileRect(int x, int y)
Definition: TileMap.cpp:147
int GetNumRows()
Definition: TileMap.cpp:139
int GetTileType(int x, int y)
Definition: TileMap.cpp:135
Definition: Component.hpp:10
int GetNumCols()
Definition: TileMap.cpp:143
TileMap(SDL_Texture *texture, int rows, int cols, int _TileWidth, int _TileHeight, int _mapX, int _mapY)
Definition: TileMap.cpp:9
virtual void Update()
Definition: TileMap.cpp:176
void PrintMap()
Definition: TileMap.cpp:117
~TileMap()
Definition: TileMap.cpp:30
void SaveMap(const char *filename)
Definition: TileMap.cpp:36
void LoadMap(const char *filename)
Definition: TileMap.cpp:65
Definition: TileMap.hpp:14
void SetTile(int x, int y, int type)
Definition: TileMap.cpp:129
virtual void Render(SDL_Renderer *ren)
Definition: TileMap.cpp:157