Proper fix for waterfall tiles
[supertux.git] / src / object / bonus_block.hpp
index fd248f1..1b35529 100644 (file)
@@ -1,5 +1,5 @@
 //  SuperTux
-//  Copyright (C) 2009 Ingo Ruhnke <grumbel@gmx.de>
+//  Copyright (C) 2009 Ingo Ruhnke <grumbel@gmail.com>
 //
 //  This program is free software: you can redistribute it and/or modify
 //  it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
 #define HEADER_SUPERTUX_OBJECT_BONUS_BLOCK_HPP
 
 #include "object/block.hpp"
+#include "object/moving_sprite.hpp"
 
 class BonusBlock : public Block
 {
@@ -28,15 +29,22 @@ public:
   HitResponse collision(GameObject& other, const CollisionHit& hit);
 
   void try_open(Player *player);
+  void try_drop(Player *player);
 
   enum Contents {
     CONTENT_COIN,
     CONTENT_FIREGROW,
     CONTENT_ICEGROW,
+    CONTENT_AIRGROW,
+    CONTENT_EARTHGROW,
     CONTENT_STAR,
     CONTENT_1UP,
     CONTENT_CUSTOM,
-    CONTENT_SCRIPT
+    CONTENT_SCRIPT,
+    CONTENT_LIGHT,
+    CONTENT_TRAMPOLINE,
+    CONTENT_RAIN,
+    CONTENT_EXPLODE
   };
 
 protected:
@@ -44,14 +52,16 @@ protected:
 
 public:
   Contents contents;
-  MovingObject* object;
+  std::shared_ptr<MovingObject> object;
+  int hit_counter;
+  void draw(DrawingContext& context);
 
 private:
   BonusBlock(const BonusBlock&);
   BonusBlock& operator=(const BonusBlock&);
-  int hit_counter;
   std::string sprite_name;
   std::string script;
+  SurfacePtr lightsprite;
 };
 
 #endif