00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __SCRIPTPROCESSOR_H__
00017 #define __SCRIPTPROCESSOR_H__
00018
00019
00020 #include "../dependencies.h"
00021
00022 #ifdef __COMPILE_WITH_ANGELSCRIPT__
00023
00024 #include "../core/AssetProcessor.h"
00025 #include "../scripting/Script.h"
00026
00027
00028
00030 class ScriptProcessor : public AssetProcessor
00031 {
00032 public:
00033
00034
00036 ScriptProcessor(AssetGroup *parent);
00038 ~ScriptProcessor();
00039
00040
00043 Script *getScript(const std::string &fileName);
00044
00048 bool reloadAsset(const std::string &fileName);
00050 void reloadAssets();
00051
00055 bool removeAsset(const std::string &fileName) ;
00057 void removeAssets();
00058
00061 static AssetProcessor* createProcessor(AssetGroup *parent);
00062
00063 protected:
00064
00065
00069 bool loadAsset(const std::string &fileName);
00071 void loadAssets();
00072
00073
00074 private:
00075
00076
00077 std::map<std::string, std::pair<c8*, long> > mScriptFiles;
00078 std::map<std::string, Script*> mScripts;
00079
00080 bool mIsReloading;
00081 };
00082
00083 #endif // __COMPILE_WITH_ANGELSCRIPT__
00084
00085 #endif