#ifndef __YETI_H__
#define __YETI_H__
+#include <memory>
+
#include "badguy.hpp"
class Yeti : public BadGuy
void draw(DrawingContext& context);
void write(lisp::Writer& writer);
- void activate();
+ void initialize();
void active_update(float elapsed_time);
void collision_solid(const CollisionHit& hit);
bool collision_squished(GameObject& object);
void kill_squished(GameObject& object);
void kill_fall();
- virtual Yeti* clone() const { return new Yeti(*this); }
+ virtual Yeti* clone() const { return new Yeti((Yeti&)*this); }
private:
void run();
void summon_snowball();
void jump_down();
+ void draw_hit_points(DrawingContext& context);
+
void take_hit(Player& player);
enum YetiState {
Timer safe_timer;
int stomp_count;
int hit_points;
+ std::auto_ptr<Surface> hud_head;
};
#endif