X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Frock.hpp;h=86a8e0e1bdae8f741021fb627d372beac382ce32;hb=a98f7cee9f6a2593c0e1f3442800f159bad410df;hp=ad4bebc084b1c5fd7de23611248e80f052b85774;hpb=15c5a91ee89272dfda3666e2fed67e06d650d0bf;p=supertux.git diff --git a/src/object/rock.hpp b/src/object/rock.hpp index ad4bebc08..86a8e0e1b 100644 --- a/src/object/rock.hpp +++ b/src/object/rock.hpp @@ -28,21 +28,26 @@ class Sprite; -class Rock : public MovingSprite, public Portable, public Serializable +class Rock : public MovingSprite, public Portable, protected UsesPhysic, public Serializable { public: + Rock(const Vector& pos, std::string spritename); Rock(const lisp::Lisp& reader); + Rock(const lisp::Lisp& reader, std::string spritename); virtual Rock* clone() const { return new Rock(*this); } + void collision_solid(const CollisionHit& hit); HitResponse collision(GameObject& other, const CollisionHit& hit); void update(float elapsed_time); void write(lisp::Writer& writer); - + void grab(MovingObject& object, const Vector& pos, Direction dir); + void ungrab(MovingObject& object, Direction dir); -private: +protected: + bool on_ground; bool grabbed; - Physic physic; + Vector last_movement; }; #endif