New BonusBlock content: 'coinrain'. Causes ten coins to rain down from the top of...
[supertux.git] / src / object / bonus_block.hpp
index 98eb747..127965e 100644 (file)
@@ -18,6 +18,7 @@
 #define HEADER_SUPERTUX_OBJECT_BONUS_BLOCK_HPP
 
 #include "object/block.hpp"
+#include "object/moving_sprite.hpp"
 
 class BonusBlock : public Block
 {
@@ -27,7 +28,7 @@ public:
   virtual ~BonusBlock();
   HitResponse collision(GameObject& other, const CollisionHit& hit);
 
-  void try_open();
+  void try_open(Player *player);
 
   enum Contents {
     CONTENT_COIN,
@@ -35,7 +36,13 @@ public:
     CONTENT_ICEGROW,
     CONTENT_STAR,
     CONTENT_1UP,
-    CONTENT_CUSTOM
+    CONTENT_CUSTOM,
+    CONTENT_SCRIPT,
+    CONTENT_LIGHT,
+    CONTENT_TRAMPOLINE,
+    CONTENT_PORTTRAMPOLINE,
+    CONTENT_ROCK,
+    CONTENT_RAIN
   };
 
 protected:
@@ -44,10 +51,15 @@ protected:
 public:
   Contents contents;
   MovingObject* object;
+  int hit_counter;
+  void draw(DrawingContext& context);
 
 private:
   BonusBlock(const BonusBlock&);
   BonusBlock& operator=(const BonusBlock&);
+  std::string sprite_name;
+  std::string script;
+  SurfacePtr lightsprite;
 };
 
 #endif