Major rewrite of scripting support:
[supertux.git] / src / object / platform.hpp
index c6286c1..cc383df 100644 (file)
 #ifndef __PLATFORM_H__
 #define __PLATFORM_H__
 
+#include <memory>
 #include "moving_object.hpp"
 #include "sprite/sprite.hpp"
 #include "object/path.hpp"
+#include "object/path_walker.hpp"
 
 /**
  * This class is the base class for platforms that tux can stand on
@@ -36,11 +38,16 @@ public:
   virtual HitResponse collision(GameObject& other, const CollisionHit& hit);
   virtual void update(float elapsed_time);
   virtual void draw(DrawingContext& context);
+  const Vector& get_speed() const
+  {
+    return speed;
+  }
 
 private:
-  Sprite* sprite;
-  Path* path;
-  Vector path_offset;
+  std::auto_ptr<Sprite> sprite;
+  std::auto_ptr<Path> path;
+  std::auto_ptr<PathWalker> walker;
+  Vector speed;
 };
 
 #endif