#include "serializable.h"
#include "math/vector.h"
-using namespace SuperTux;
-
-namespace SuperTux {
-class LispReader;
+namespace lisp {
+class Lisp;
}
+using namespace SuperTux;
+
class Level;
class TileManager;
class Tile;
{
public:
TileMap();
- TileMap(LispReader& reader);
+ TileMap(const lisp::Lisp& reader);
TileMap(int layer_, bool solid_, size_t width_, size_t height_);
virtual ~TileMap();
- virtual void write(LispWriter& writer);
+ virtual void write(lisp::Writer& writer);
virtual void action(float elapsed_time);
virtual void draw(DrawingContext& context);
*/
void resize(int newwidth, int newheight);
- /** Flip the all tile map vertically. The purpose of this is to let
- player to play the same level in a different way :) */
- void do_vertical_flip();
-
size_t get_width() const
{ return width; }
void change_at(const Vector& pos, uint32_t newtile);
+ TileManager* get_tilemanager() const
+ {
+ return tilemanager;
+ }
+
+ void set_drawing_effect(int effect)
+ {
+ drawing_effect = effect;
+ }
+
private:
std::vector<uint32_t> tiles;
int width, height;
int layer;
- bool vertical_flip;
+ int drawing_effect;
};
#endif /*SUPERTUX_TILEMAP_H*/