supertux/sector.[ch]pp: Implement Sector::get_nearest_player.
[supertux.git] / src / supertux / sector.hpp
index 996de3e..4bf38d4 100644 (file)
@@ -37,6 +37,7 @@ class Rectf;
 class Sprite;
 class GameObject;
 class Player;
+class PlayerStatus;
 class Camera;
 class TileMap;
 class Bullet;
@@ -107,7 +108,7 @@ public:
   void play_music(MusicType musictype);
   MusicType get_music_type();
 
-  bool add_bullet(const Vector& pos, float xm, Direction dir);
+  bool add_bullet(const Vector& pos, const PlayerStatus* player_status, float xm, Direction dir);
   bool add_smoke_cloud(const Vector& pos);
 
   /** get currently activated sector. */
@@ -128,7 +129,8 @@ public:
   }
 
   void collision_tilemap(collision::Constraints* constraints,
-                         const Vector& movement, const Rectf& dest) const;
+                         const Vector& movement, const Rectf& dest,
+                         MovingObject &object) const;
 
   /**
    * Checks if the specified rectangle is free of (solid) tiles.
@@ -156,6 +158,7 @@ public:
   std::vector<Player*> get_players() {
     return std::vector<Player*>(1, this->player);
   }
+  Player *get_nearest_player (const Vector& pos);
 
   Rectf get_active_region();
 
@@ -226,7 +229,7 @@ private:
    * (because of ABORT_MOVE in the collision response or no collisions)
    */
   void collision_static(collision::Constraints* constraints,
-                        const Vector& movement, const Rectf& dest, GameObject& object);
+                        const Vector& movement, const Rectf& dest, MovingObject& object);
 
   void collision_static_constrains(MovingObject& object);