OpenMW
|
00001 #ifndef GAME_MWMECHANICS_AISEQUENCE_H 00002 #define GAME_MWMECHANICS_AISEQUENCE_H 00003 00004 #include <list> 00005 00006 #include <components/esm/loadnpc.hpp> 00007 00008 namespace MWWorld 00009 { 00010 class Ptr; 00011 } 00012 00013 namespace MWMechanics 00014 { 00015 class AiPackage; 00016 00018 class AiSequence 00019 { 00020 std::list<AiPackage *> mPackages; 00021 00022 bool mDone; 00023 00024 void copy (const AiSequence& sequence); 00025 00026 public: 00027 00028 AiSequence(); 00029 00030 AiSequence (const AiSequence& sequence); 00031 00032 AiSequence& operator= (const AiSequence& sequence); 00033 00034 virtual ~AiSequence(); 00035 00036 int getTypeId() const; 00038 00039 bool isPackageDone() const; 00041 00042 void execute (const MWWorld::Ptr& actor,float duration); 00044 00045 void clear(); 00047 00048 void stack (const AiPackage& package); 00050 00051 void queue (const AiPackage& package); 00054 00055 void fill (const ESM::AIPackageList& list); 00056 }; 00057 } 00058 00059 #endif