home *** CD-ROM | disk | FTP | other *** search
- #ifndef MONSTER_H
- #define MONSTER_H
-
- #include "Creature.h"
- #include <2D/Animation2D.h>
-
- class Monster : public Creature
- {
- public:
- virtual void life_cycle(float delta_time);
- virtual String get_name()const;
- virtual float get_size()const;
- virtual void process_collision(const Creature * cre);
- virtual bool is_solid()const;
- virtual void process_death(const Creature * cre);
- virtual bool is_alive()const;
- private:
- friend class Level;
- Monster( Scene2D * scene, Level * level );
-
- enum state_enum { CREATING, LIVING, WEAK, DYING, DEAD };
- state_enum state;
- void change_state( state_enum new_state );
- void change_direction( Direction dir );
-
- String name;
- Animation2D anim;
-
- float weak_time;
- float current_weak_time;
- float eye_time;
- float current_eye_time;
-
- Direction current_direction;
-
- Direction make_new_descision();
- };
-
- #endif //MONSTER_H