#include <string>
#include "math/vector.hpp"
-#include "video/screen.hpp"
#include "lisp/lisp.hpp"
#include "control/controller.hpp"
#include "statistics.hpp"
std::string name;
std::string music;
+ std::string init_script;
typedef std::vector<GameObject*> GameObjects;
GameObjects game_objects;
Statistics total_stats;
+ HSQOBJECT worldmap_table;
+ typedef std::vector<HSQOBJECT> ScriptList;
+ ScriptList scripts;
+
public:
WorldMap(const std::string& filename);
~WorldMap();
{ return current_; }
virtual void setup();
+ virtual void leave();
/** Update worldmap state */
virtual void update(float delta);
const std::string& get_title() const
{ return name; }
+
+ /**
+ * runs a script in the context of the worldmap (and keeps a reference to
+ * the script (so the script gets destroyed when the worldmap is destroyed)
+ */
+ HSQUIRRELVM run_script(std::istream& in, const std::string& sourcename);
private:
void get_level_title(LevelTile& level);