X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fplatform.hpp;h=06456a7b5d35c2e8fd638b4b2553b5add32e7005;hb=fea3446f05e1e7673607b835c269d3e8d1929ab3;hp=f5e1d245e41491f41ada3139c2424cdc13d60b14;hpb=1c148c20eede15d02659203c417d01a9877103de;p=supertux.git diff --git a/src/object/platform.hpp b/src/object/platform.hpp index f5e1d245e..06456a7b5 100644 --- a/src/object/platform.hpp +++ b/src/object/platform.hpp @@ -39,11 +39,17 @@ public: virtual HitResponse collision(GameObject& other, const CollisionHit& hit); virtual void update(float elapsed_time); + const Vector& get_speed() const { return speed; } + /** + * @name Scriptable Methods + * @{ + */ + /** Move platform until at given node, then stop */ void goto_node(int node_no); @@ -53,6 +59,10 @@ public: /** Stop platform at next node */ void stop_moving(); + /** + * @} + */ + virtual void expose(HSQUIRRELVM vm, SQInteger table_idx); virtual void unexpose(HSQUIRRELVM vm, SQInteger table_idx); @@ -61,12 +71,15 @@ public: } private: - std::string name; /**< user-defined name for use in scripts or empty string if not scriptable */ std::auto_ptr path; std::auto_ptr walker; + Vector speed; + bool automatic; /**< true if Platform will automatically pick a destination based on collisions and current Player position */ + bool player_contact; /**< true if a Player touched the Platform during the last round of collision detections */ + bool last_player_contact; /**< true if a Player touched the Platform during the round before the last round of collision detections */ + }; #endif -