1 #ifndef __SCRIPTED_OBJECT_H__
2 #define __SCRIPTED_OBJECT_H__
6 #include "sprite/sprite.hpp"
7 #include "lisp/lisp.hpp"
8 #include "moving_object.hpp"
9 #include "script_interface.hpp"
10 #include "scripting/scripted_object.hpp"
12 class ScriptedObject : public MovingObject, public Scripting::ScriptedObject,
13 public ScriptInterface
16 ScriptedObject(const lisp::Lisp& lisp);
17 virtual ~ScriptedObject();
19 virtual void expose(HSQUIRRELVM vm, int table_idx);
20 virtual void unexpose(HSQUIRRELVM vm, int table_idx);
22 void update(float elapsed_time);
23 void draw(DrawingContext& context);
24 HitResponse collision(GameObject& other, const CollisionHit& hit);
26 // --- Scripting Interface stuff ---
28 void set_action(const std::string& animation);
29 std::string get_action();
31 void move(float x, float y);
32 void set_pos(float x, float y);
35 void set_velocity(float x, float y);
36 float get_velocity_x();
37 float get_velocity_y();
38 void set_visible(bool visible);
41 std::string get_name();