YAPOG  0.0.1
Yet Another Pokemon Online Game
PhysicsBoundingBoxCollection.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_PHYSICSBOUNDINGBOXCOLLECTION_HPP
2 # define YAPOG_PHYSICSBOUNDINGBOXCOLLECTION_HPP
3 
4 # include "YAPOG/Macros.hpp"
7 
8 namespace yap
9 {
10  class WorldObject;
11 
13  {
15 
16  public:
17 
19  virtual ~PhysicsBoundingBoxCollection ();
20 
22 
23  void AddPhysicsBoundingBox (BoundingBox* boundingBox);
24  void RemovePhysicsBoundingBox (BoundingBox* boundingBox);
25 
26  void SetCollidableArea (
27  const WorldObject& parent,
28  CollidableArea* collidableArea);
29 
30  bool CollidesWithArea (
31  const CollidableArea& collidableArea,
32  const Vector2& offset) const;
33 
34  private:
35 
36  virtual void HandleAddBoundingBoxToCollidableArea (
37  BoundingBox* boundingBox);
38  virtual void HandleRemoveBoundingBoxFromCollidableArea (
39  BoundingBox* boundingBox);
40 
42  };
43 } // namespace yap
44 
45 #endif // YAPOG_PHYSICSBOUNDINGBOXCOLLECTION_HPP