#ifndef MAP_MAP_H_
#define MAP_MAP_H_
+#include "fwd.h"
#include "../geometry/Vector.h"
+#include "../graphics/fwd.h"
#include <SDL.h>
-namespace graphics {
- class Sprite;
-}
-
namespace map {
-class Area;
-
class Map {
public:
~Map() { }
public:
+ const graphics::Sprite *Tileset() const { return tileset; }
+ const Area &AreaAt(const geometry::Vector<int> &) const;
+ const Tile &TileAt(const geometry::Vector<int> &) const;
+ Trigger *TriggerAt(const geometry::Vector<int> &);
+
void Render(SDL_Surface *dest, const geometry::Vector<int> &offset) const;
// temporary setters
public:
void SetTileset(const graphics::Sprite *t) { tileset = t; }
- void SetAreas(const Area *a, int num) { areas = a; numAreas = num; }
+ void SetAreas(Area *a, int num) { areas = a; numAreas = num; }
+ void SetTriggers(Trigger *t, int num) { triggers = t; numTriggers = num; }
void SetWidth(int w) { width = w; }
private:
const graphics::Sprite *tileset;
- const Area *areas;
+ Area *areas;
int numAreas;
+ Trigger *triggers;
+ int numTriggers;
int width;
};