X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fsspiky.hpp;h=b6a35ed84add4b978a0d56ee57b35d17bd6181d7;hb=198f758764fff064a47630b5d0f1e3d6aabe95a8;hp=532e06e019e21b7cb2fc82f382de9410bcdfa646;hpb=4c9b57d29e67f9db5605f378549b07f670baa837;p=supertux.git diff --git a/src/badguy/sspiky.hpp b/src/badguy/sspiky.hpp index 532e06e01..b6a35ed84 100644 --- a/src/badguy/sspiky.hpp +++ b/src/badguy/sspiky.hpp @@ -20,22 +20,25 @@ #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,