d1a7ffbbbfdbb5d8c003d002a0c24dfdeb1e69a5
[supertux.git] / src / worldmap / teleporter.cpp
1 //  $Id$
2 //
3 //  SuperTux - Teleporter Worldmap Tile
4 //  Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
5 //
6 //  This program is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU General Public License
8 //  as published by the Free Software Foundation; either version 2
9 //  of the License, or (at your option) any later version.
10 //
11 //  This program is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 //  GNU General Public License for more details.
15 //
16 //  You should have received a copy of the GNU General Public License
17 //  along with this program; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19 #include <config.h>
20
21 #include "worldmap/teleporter.hpp"
22 #include "sprite/sprite_manager.hpp"
23 #include "sprite/sprite.hpp"
24 #include "video/drawing_context.hpp"
25
26 namespace WorldMapNS
27 {
28
29 Teleporter::Teleporter(const lisp::Lisp* lisp)
30   : automatic(false)
31 {
32   lisp->get("x", pos.x);
33   lisp->get("y", pos.y);
34
35   std::string spritefile = "";
36   if (lisp->get("sprite", spritefile)) {
37     sprite.reset(sprite_manager->create(spritefile));
38   }
39
40   lisp->get("worldmap", worldmap);
41   lisp->get("spawnpoint", spawnpoint);
42   lisp->get("automatic", automatic);
43   lisp->get("message", message);
44 }
45
46 void
47 Teleporter::draw(DrawingContext& context)
48 {
49   if (sprite.get() != 0) sprite->draw(context, pos*32 + Vector(16, 16), LAYER_OBJECTS - 1);
50 }
51
52 void
53 Teleporter::update(float )
54 {
55 }
56
57 }