2011-08-15 16:11:24 +02:00
|
|
|
#ifndef TILE_H
|
|
|
|
#define TILE_H
|
|
|
|
|
2011-08-15 23:02:52 +02:00
|
|
|
#include "declarations.h"
|
|
|
|
#include <framework/luascript/luaobject.h>
|
2011-08-15 16:11:24 +02:00
|
|
|
|
2011-08-15 23:02:52 +02:00
|
|
|
class Tile : public LuaObject
|
2011-08-15 16:11:24 +02:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
Tile();
|
|
|
|
|
2011-08-21 21:09:23 +02:00
|
|
|
void draw(int x, int y);
|
2011-08-17 06:45:55 +02:00
|
|
|
|
2011-08-15 16:11:24 +02:00
|
|
|
void addThing(ThingPtr thing, uint8 stackpos);
|
2011-08-17 06:45:55 +02:00
|
|
|
ThingPtr getThing(uint8 stackpos);
|
|
|
|
void removeThing(uint8 stackpos);
|
2011-08-17 07:04:45 +02:00
|
|
|
void removeThingByPtr(ThingPtr thing);
|
2011-08-15 16:11:24 +02:00
|
|
|
|
2011-08-17 06:45:55 +02:00
|
|
|
void clean();
|
2011-08-15 21:15:49 +02:00
|
|
|
|
|
|
|
bool hasGround() { return (!!m_ground); }
|
|
|
|
|
2011-08-15 16:11:24 +02:00
|
|
|
int getStackSize();
|
|
|
|
|
2011-08-21 21:09:23 +02:00
|
|
|
std::deque<ThingPtr> getCreatures() { return m_creatures; }
|
|
|
|
int getDrawNextOffset() { return m_drawNextOffset; }
|
|
|
|
|
2011-08-15 16:11:24 +02:00
|
|
|
private:
|
|
|
|
ThingPtr m_ground;
|
2011-08-16 02:30:31 +02:00
|
|
|
std::deque<ThingPtr> m_itemsBottom;
|
2011-08-15 21:15:49 +02:00
|
|
|
std::deque<ThingPtr> m_creatures;
|
|
|
|
std::deque<ThingPtr> m_itemsTop;
|
2011-08-16 07:47:35 +02:00
|
|
|
std::deque<ThingPtr> m_effects;
|
2011-08-20 04:08:27 +02:00
|
|
|
|
|
|
|
int m_drawNextOffset;
|
2011-08-15 16:11:24 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|