public:
WalkingFlame(const Reader& reader);
+ void collision_solid(const CollisionHit& hit);
+ HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit);
+ void active_update(float elapsed_time);
void draw(DrawingContext& context);
void freeze();
private:
SpritePtr lightsprite;
+
+protected:
+ enum SState {
+ STATE_SLEEPING,
+ STATE_WAKING,
+ STATE_WALKING,
+ STATE_DORMANT
+ };
+ SState state;
};
-class SWalkingFlame : public WalkingBadguy
+class SWalkingFlame : public WalkingFlame
{
public:
SWalkingFlame(const Reader& reader);
void initialize();
- void collision_solid(const CollisionHit& hit);
- HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit);
- void active_update(float elapsed_time);
- void draw(DrawingContext& context);
-
- void freeze();
- bool is_freezable() const;
- bool is_flammable() const;
+};
- virtual void kill_fall();
+class DWalkingFlame : public WalkingFlame
+{
+public:
+ DWalkingFlame(const Reader& reader);
-protected:
- enum SState {
- STATE_SLEEPING,
- STATE_WAKING,
- STATE_WALKING
- };
- SState state;
-
-private:
- SpritePtr lightsprite;
+ void initialize();
};
#endif