X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fwalking_badguy.hpp;h=f5a7eb6279ff01b3d3beb050620b723572baac3e;hb=788a9153f60fb3d25a52fd184387ebbde7636719;hp=b6a934b75487bf2a9df5705d3cda8b7cd98a8eb2;hpb=781b60522acc0f34ba4091838d12aa0db7cc9a56;p=supertux.git diff --git a/src/badguy/walking_badguy.hpp b/src/badguy/walking_badguy.hpp index b6a934b75..f5a7eb627 100644 --- a/src/badguy/walking_badguy.hpp +++ b/src/badguy/walking_badguy.hpp @@ -22,8 +22,10 @@ #include "badguy.hpp" +class Timer; + /** - * Baseclass for a Badguy that just walks around. + * Base class for Badguys that walk on the floor. */ class WalkingBadguy : public BadGuy { @@ -32,14 +34,14 @@ public: WalkingBadguy(const Vector& pos, Direction direction, const std::string& sprite_name, const std::string& walk_left_action, const std::string& walk_right_action, int layer = LAYER_OBJECTS); WalkingBadguy(const lisp::Lisp& reader, const std::string& sprite_name, const std::string& walk_left_action, const std::string& walk_right_action, int layer = LAYER_OBJECTS); - void activate(); + void initialize(); void write(lisp::Writer& writer); void active_update(float elapsed_time); void collision_solid(const CollisionHit& hit); HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit); void freeze(); void unfreeze(); - + float get_velocity_y() const; void set_velocity_y(float vy); @@ -50,6 +52,8 @@ protected: std::string walk_right_action; float walk_speed; int max_drop_height; /**< Maximum height of drop before we will turn around, or -1 to just drop from any ledge */ + Timer turn_around_timer; + int turn_around_counter; /**< counts number of turns since turn_around_timer was started */ }; #endif