#ifndef _SCRIPT_MANAGER_H #define _SCRIPT_MANAGER_H #include #include #include "script.h" #include "base_object.h" #include "luaincl.h" #include "loading/load_param.h" class ScriptTrigger; class Scriptable; class ScriptManager : public BaseObject { public: ScriptManager(); ~ScriptManager(); inline static ScriptManager* getInstance() { if (!ScriptManager::singletonRef)ScriptManager::singletonRef = new ScriptManager(); return ScriptManager::singletonRef; } virtual void loadParams(const TiXmlElement* root); void tick(float timestep); Script* getScriptByFile(std::string& file); private: void init(); void createScriptList(const TiXmlElement* scripts); void addObjectToScript(const std::string object); static ScriptManager* singletonRef; //!< Reference to this class const std::list* triggerList; const std::list* scriptableClasses; const std::list* scripts; }; #endif