00001 /* 00002 * unitAI.h 00003 * 00004 * Created on: Dec 21, 2011 00005 * Author: sushil 00006 */ 00007 00008 #ifndef UNITAI_H_ 00009 #define UNITAI_H_ 00010 00011 #include <deque> 00012 #include <aspect.h> 00013 #include <command.h> 00014 //#include <ent.h> 00015 00016 namespace FastEcslent { 00017 00018 class Entity; 00019 //class UnitAspect; 00020 00021 class UnitAI : public UnitAspect { 00022 public: 00023 std::deque<Command*> commands; 00024 00025 ControlType state; 00026 00027 UnitAI (Entity* ent, UnitAspectType at): UnitAspect(ent, at) {}; 00028 virtual void tick(double dt); 00029 virtual void init(); 00030 void addCommand(Command *cmd); 00031 void setCommand(Command *cmd); 00032 void setCommandList(std::deque<Command*> comds); 00033 }; 00034 } 00035 00036 #endif /* UNITAI_H_ */