X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fsspiky.hpp;h=b6a35ed84add4b978a0d56ee57b35d17bd6181d7;hb=013a5ca196545a094f27c1b708facd0084d58d55;hp=8aa24b3b046ef4f4b6fc2a50343e57c5a1be3f53;hpb=ff3f2e3e93b2af69c0f686f8f636ba0d66c67f73;p=supertux.git diff --git a/src/badguy/sspiky.hpp b/src/badguy/sspiky.hpp index 8aa24b3b0..b6a35ed84 100644 --- a/src/badguy/sspiky.hpp +++ b/src/badguy/sspiky.hpp @@ -20,30 +20,31 @@ #ifndef __SSPIKY_H__ #define __SSPIKY_H__ -#include "badguy.hpp" +#include "walking_badguy.hpp" -class SSpiky : public BadGuy +class SSpiky : public WalkingBadguy { public: SSpiky(const lisp::Lisp& reader); - void activate(); + void initialize(); void write(lisp::Writer& writer); - HitResponse collision_solid(GameObject& other, const CollisionHit& hit); + void collision_solid(const CollisionHit& hit); HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit); void active_update(float elapsed_time); -protected: - Timer timer; + void freeze(); + bool is_freezable() const; + + virtual SSpiky* clone() const { return new SSpiky(*this); } +protected: enum SSpikyState { SSPIKY_SLEEPING, SSPIKY_WAKING, SSPIKY_WALKING }; SSpikyState state; -private: - bool stay_on_platform; }; #endif