-// $Id: igel.hpp 3452 2006-04-27 18:19:15Z sommer $
+// $Id$
//
// SuperTux - Badguy "Igel"
// Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
#ifndef __IGEL_H__
#define __IGEL_H__
-#include "badguy.hpp"
+#include "walking_badguy.hpp"
#include "moving_object.hpp"
/**
* Badguy "Igel" - a hedgehog that can absorb bullets
*/
-class Igel : public BadGuy
+class Igel : public WalkingBadguy
{
public:
Igel(const lisp::Lisp& reader);
Igel(const Vector& pos, Direction d);
- void activate();
void write(lisp::Writer& writer);
- HitResponse collision_solid(GameObject& object, const CollisionHit& hit);
- HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit);
HitResponse collision_bullet(Bullet& bullet, const CollisionHit& hit);
void active_update(float elapsed_time);
virtual Igel* clone() const { return new Igel(*this); }
protected:
- bool collision_squished(Player& player);
+ bool collision_squished(GameObject& object);
void be_normal(); /**< switch to state STATE_NORMAL */
void turn_around(); /**< reverse direction, assumes we are in STATE_NORMAL */
bool can_see(const MovingObject& o); /**< check if we can see o */
private:
- enum State {
- STATE_NORMAL /**< walking around */
- };
- State state;
Timer turn_recover_timer; /**< wait time until we will turn around again when shot at */
- bool set_direction;
- Direction initial_direction;
+
};
#endif
-