X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fscripting%2Fscript_interpreter.h;h=73f596bd9103af96698dc03dbcc0bcd0e3a5561a;hb=ebda3ab7ce3e30d8225228ffe8df3316b4f73645;hp=ff3d77ec6d26e443ce47f5c9b3f79b7ec52c87f7;hpb=864c93e01ec366f730b3ebad08d5c52d6a9363b6;p=supertux.git diff --git a/src/scripting/script_interpreter.h b/src/scripting/script_interpreter.h index ff3d77ec6..73f596bd9 100644 --- a/src/scripting/script_interpreter.h +++ b/src/scripting/script_interpreter.h @@ -4,21 +4,28 @@ #include #include #include "timer.h" +#include "game_object.h" +#include "scripting/sound.h" +#include "scripting/level.h" -class ScriptInterpreter +class Sector; + +class ScriptInterpreter : public GameObject { public: - ScriptInterpreter(); + ScriptInterpreter(Sector* sector); ~ScriptInterpreter(); + void draw(DrawingContext& ); + void action(float ); + void load_script(std::istream& in, const std::string& sourcename = ""); - void run_script(); + void start_script(); void expose_object(void* object, const std::string& name, const std::string& type); - void suspend(float seconds); - void update(); + void set_wakeup_time(float seconds); static ScriptInterpreter* current() { @@ -28,7 +35,10 @@ public: private: HSQUIRRELVM v; static ScriptInterpreter* _current; - Timer resume_timer; + Timer wakeup_timer; + + Scripting::Sound* sound; + Scripting::Level* level; }; #endif