X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fweak_block.hpp;h=01e2464be66496068588c11253641cbeff826fe1;hb=20f50f690c18aefbedeeb43eda094c8cb70351a9;hp=0ff0b91d90910ec3877924539204bfe9d321cbaf;hpb=2892ebda09d24c977547159e34abf0244884b89e;p=supertux.git diff --git a/src/object/weak_block.hpp b/src/object/weak_block.hpp index 0ff0b91d9..01e2464be 100644 --- a/src/object/weak_block.hpp +++ b/src/object/weak_block.hpp @@ -26,10 +26,10 @@ #include "physic.hpp" #include "timer.hpp" -/** +/** * A block that can be destroyed by Bullet hits */ -class WeakBlock : public MovingSprite +class WeakBlock : public MovingSprite, public UsesPhysic { public: WeakBlock(const lisp::Lisp& lisp); @@ -37,6 +37,17 @@ public: HitResponse collision(GameObject& other, const CollisionHit& hit); void update(float elapsed_time); +protected: + /** + * called by self when hit by a bullet + */ + void startBurning(); + + /** + * pass hit to nearby WeakBlock objects + */ + void spreadHit(); + private: enum State { STATE_NORMAL, /**< default state */ @@ -44,9 +55,6 @@ private: STATE_DISINTEGRATING /**< crumbling to dust, no longer solid */ }; State state; - - Physic physic; }; #endif -