X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FMap.h;h=dd0185cdeacca199f5018f17826f4a429b7c2e86;hb=d969efe468d2d9775ab2c5388be1cde8efa0b9ad;hp=9fb24afc9dd305e67d9e27d108e70621806dea11;hpb=59c4aea0762cbc5f1bf74c5b1b35629408fb92af;p=l2e.git diff --git a/src/map/Map.h b/src/map/Map.h index 9fb24af..dd0185c 100644 --- a/src/map/Map.h +++ b/src/map/Map.h @@ -8,18 +8,14 @@ #ifndef MAP_MAP_H_ #define MAP_MAP_H_ +#include "fwd.h" #include "../geometry/Vector.h" +#include "../graphics/fwd.h" #include -namespace graphics { - class Sprite; -} - namespace map { -class Area; - class Map { public: @@ -27,18 +23,26 @@ public: ~Map() { } public: + const graphics::Sprite *Tileset() const { return tileset; } + const Area &AreaAt(const geometry::Vector &) const; + const Tile &TileAt(const geometry::Vector &) const; + Trigger *TriggerAt(const geometry::Vector &); + void Render(SDL_Surface *dest, const geometry::Vector &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; };