00001 #ifndef ENEMY_H
00002 #define ENEMY_H
00003
00004 #include "Person.h"
00005
00006 class List;
00007
00008 typedef enum {JUMP, FOLLOWSHOOTAHEAD , FOLLOWSHOOT, SITANDSHOOT, FACTORYBOSS, RUNAWAY, NONE, STREETBOSS} AItype;
00009
00010 class Enemy : public Person
00011 {
00012 public:
00013 Enemy(List * enemyInfo, int x, int y);
00014 ~Enemy();
00015 void update();
00016 void die();
00017 virtual Object *copy();
00018
00019 void activate() {_active = true;}
00020 void disable() {_active = false;}
00021
00022 void load(List *enemyInfo, bool fromConstructor = true);
00023 private:
00024 List *_deathScript;
00025
00026 AItype _brain;
00027 List *_script;
00028
00029 int _brainWait;
00030 int _scriptWait;
00031
00032 int _brainTime;
00033 int _scriptTime;
00034
00035 int _brainBurst;
00036 int _brainBurstTime;
00037
00038 int _pointValue;
00039 bool _active;
00040
00041 };
00042
00043 #endif