X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Ffirefly.hpp;h=632508794be760db7b1c21a3d5e0cc8d476696cc;hb=5745d9670262c91e6cd35363fd0d2ec169e7c8a4;hp=e6ea343e80b6dddee95e69d7dafa9217b1aab2ed;hpb=07ddaed2a657e4d2a3d038fed223fc5827159caf;p=supertux.git diff --git a/src/object/firefly.hpp b/src/object/firefly.hpp index e6ea343e8..632508794 100644 --- a/src/object/firefly.hpp +++ b/src/object/firefly.hpp @@ -21,29 +21,27 @@ #define __FIREFLY_H__ #include "lisp/lisp.hpp" -#include "moving_object.hpp" -#include "sprite/sprite.hpp" +#include "object/moving_sprite.hpp" #include "serializable.hpp" +#include "badguy/badguy.hpp" /** * A Firefly: When tux touches it, it begins buzzing and you will respawn at this * position. */ -class Firefly : public MovingObject, public Serializable +class Firefly : public MovingSprite, public Serializable { public: Firefly(const lisp::Lisp& lisp); - ~Firefly(); + virtual Firefly* clone() const { return new Firefly(*this); } void write(lisp::Writer& writer); - void update(float elapsed_time); - void draw(DrawingContext& context); HitResponse collision(GameObject& other, const CollisionHit& hit); private: - Sprite* sprite; - bool ringing; + bool activated; + Vector initial_position; /**< position as in level file. This is where Tux will have to respawn, as the level is reset every time */ + void reactivate(); }; #endif -