X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FMap.h;h=ab0728b765ba8ec363c20d27f3a7e0b9e8e70454;hb=389d2fcb1e9ca1023cda11da80f00272ab20903a;hp=340c76c707d691951a68afbc8de283fd36aecac4;hpb=3565d69c463c39b05b4612ca3d3557139d91e310;p=l2e.git diff --git a/src/map/Map.h b/src/map/Map.h index 340c76c..ab0728b 100644 --- a/src/map/Map.h +++ b/src/map/Map.h @@ -24,21 +24,33 @@ public: public: const graphics::Sprite *Tileset() const { return tileset; } - const Area &AreaAt(const geometry::Vector &) const; - const Tile &TileAt(const geometry::Vector &) const; + const Area *AreaAt(const geometry::Vector &) const; + const Tile *TileAt(const geometry::Vector &) const; + Trigger *TriggerAt(const geometry::Vector &); + geometry::Vector TileCoordinates(const geometry::Vector &) const; + + Entity **EntitiesBegin() { return &entities; } + Entity **EntitiesEnd() { return (&entities) + numEntities; } void Render(SDL_Surface *dest, const geometry::Vector &offset) const; + void RenderDebug(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 SetEntities(Entity *e, int num) { entities = e; numEntities = num; } void SetWidth(int w) { width = w; } private: const graphics::Sprite *tileset; - const Area *areas; + Area *areas; int numAreas; + Trigger *triggers; + int numTriggers; + Entity *entities; + int numEntities; int width; };