// $Id$
//
// SuperTux - MagicBlock
-//
-// Magic Blocks are tile-like game objects that are sensitive to
+//
+// Magic Blocks are tile-like game objects that are sensitive to
// lighting conditions. They are rendered in a color and
// will only be solid as long as light of the same color shines
-// on the block.
+// on the block. The black block becomes solid, if any kind of
+// light is above MIN_INTENSITY.
//
// Copyright (C) 2006 Wolfgang Becker <uafr@gmx.de>
//
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#ifndef SUPERTUX_TRAMPOLINE_H
-#define SUPERTUX_TRAMPOLINE_H
+#ifndef SUPERTUX_MAGICBLOCK_H
+#define SUPERTUX_MAGICBLOCK_H
#include "moving_sprite.hpp"
#include "lisp/lisp.hpp"
public:
MagicBlock(const lisp::Lisp& reader);
+ bool collides(GameObject& other, const CollisionHit& hit);
HitResponse collision(GameObject& other, const CollisionHit& hit);
void update(float elapsed_time);
void draw(DrawingContext& context);
float trigger_red;
float trigger_green;
float trigger_blue;
+ float solid_time;
+ float switch_delay; /**< seconds until switching solidity */
Color color;
Color light;
Vector center;
+ bool black;
};
#endif