X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fblock.hpp;h=4f326eb2ff73cefb37beb987f7efc041f8f667ba;hb=08ccb17345a52f5ffd8a5dd6ecf675cad55f16a7;hp=462e8ff63c755418a18677936dc5d02732236398;hpb=c8303cceed3279a3580829a28bbb2d7b8d89843b;p=supertux.git diff --git a/src/object/block.hpp b/src/object/block.hpp index 462e8ff63..4f326eb2f 100644 --- a/src/object/block.hpp +++ b/src/object/block.hpp @@ -40,10 +40,13 @@ protected: friend class FlipLevelTransformer; virtual void hit(Player& player) = 0; - void start_bounce(); + void start_bounce(GameObject* hitter); + void start_break(GameObject* hitter); + void break_me(); Sprite* sprite; bool bouncing; + bool breaking; float bounce_dir; float bounce_offset; float original_y; @@ -60,10 +63,6 @@ public: void try_open(); -protected: - virtual void hit(Player& player); - -private: enum Contents { CONTENT_COIN, CONTENT_FIREGROW, @@ -74,6 +73,10 @@ private: }; Contents contents; +protected: + virtual void hit(Player& player); + +private: MovingObject* object; }; @@ -82,7 +85,7 @@ class Brick : public Block public: Brick(const Vector& pos, int data); - void try_break(bool playerhit = false); + void try_break(Player* player = false); HitResponse collision(GameObject& other, const CollisionHit& hit); protected: @@ -94,4 +97,3 @@ private: }; #endif -