tibia-client/src/otclient/core/map.h

40 lines
837 B
C
Raw Normal View History

2011-08-15 16:11:24 +02:00
#ifndef MAP_H
#define MAP_H
#include "tile.h"
#include "creature.h"
2011-08-15 16:11:24 +02:00
#include <framework/graphics/declarations.h>
class Map
{
public:
void draw(const Rect& rect);
2011-08-24 05:58:23 +02:00
void addThing(ThingPtr thing, int stackpos = -1);
ThingPtr getThing(const Position& pos, int stackpos);
void removeThing(const Position& pos, int stackpos);
2011-08-17 07:04:45 +02:00
void removeThingByPtr(ThingPtr thing);
void clean();
void cleanTile(const Position& pos);
void setLight(const Light& light) { m_light = light; }
Light getLight() { return m_light; }
CreaturePtr getCreatureById(uint32 id);
void removeCreatureById(uint32 id);
2011-08-15 16:11:24 +02:00
private:
2011-08-16 02:30:31 +02:00
std::unordered_map<Position, TilePtr, PositionHasher> m_tiles;
std::map<uint32, CreaturePtr> m_creatures;
Light m_light;
2011-08-15 16:11:24 +02:00
FrameBufferPtr m_framebuffer;
};
2011-08-15 23:02:52 +02:00
extern Map g_map;
2011-08-15 16:11:24 +02:00
#endif