OpenMW
|
00001 #ifndef GAME_MWWORLD_LOCALSCRIPTS_H 00002 #define GAME_MWWORLD_LOCALSCRIPTS_H 00003 00004 #include <list> 00005 #include <string> 00006 00007 #include "ptr.hpp" 00008 00009 namespace MWWorld 00010 { 00011 struct ESMStore; 00012 class CellStore; 00013 class RefData; 00014 00016 class LocalScripts 00017 { 00018 std::list<std::pair<std::string, Ptr> > mScripts; 00019 std::list<std::pair<std::string, Ptr> >::iterator mIter; 00020 MWWorld::Ptr mIgnore; 00021 const MWWorld::ESMStore& mStore; 00022 00023 public: 00024 00025 LocalScripts (const MWWorld::ESMStore& store); 00026 00027 void setIgnore (const Ptr& ptr); 00030 00031 void startIteration(); 00033 00034 bool isFinished() const; 00036 00037 std::pair<std::string, Ptr> getNext(); 00039 00040 void add (const std::string& scriptName, const Ptr& ptr); 00042 00043 void addCell (CellStore *cell); 00045 00046 void clear(); 00048 00049 void clearCell (CellStore *cell); 00051 00052 void remove (RefData *ref); 00053 00054 void remove (const Ptr& ptr); 00056 }; 00057 } 00058 00059 #endif